Unable to download any attachments #2230

Closed
opened 2026-02-05 03:40:52 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @derritter88 on GitHub (Apr 3, 2025).

Vaultwarden Support String

Your environment (Generated via diagnostics page)

  • Vaultwarden version: v1.33.2
  • Web-vault version: v2025.1.1
  • OS/Arch: linux/x86_64
  • Running within a container: true (Base: Debian)
  • Database type: PostgreSQL
  • Database version: PostgreSQL 17.4 (Ubuntu 17.4-1.pgdg24.04+2) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, 64-bit
  • Environment settings overridden!: false
  • Uses a reverse proxy: true
  • IP Header check: true (X-Real-IP)
  • Internet access: true
  • Internet access via a proxy: false
  • DNS Check: true
  • Browser/Server Time Check: true
  • Server/NTP Time Check: true
  • Domain Configuration Check: true
  • HTTPS Check: true
  • Websocket Check: true
  • HTTP Response Checks: true

Config & Details (Generated via diagnostics page)

Show Config & Details

Config:

{
  "_duo_akey": null,
  "_enable_duo": true,
  "_enable_email_2fa": true,
  "_enable_smtp": true,
  "_enable_yubico": true,
  "_icon_service_csp": "",
  "_icon_service_url": "",
  "_ip_header_enabled": true,
  "_max_note_size": 10000,
  "_smtp_img_src": "***:",
  "admin_ratelimit_max_burst": 3,
  "admin_ratelimit_seconds": 300,
  "admin_session_lifetime": 20,
  "admin_token": "***",
  "allowed_connect_src": "",
  "allowed_iframe_ancestors": "",
  "attachments_folder": "data/attachments",
  "auth_request_purge_schedule": "30 * * * * *",
  "authenticator_disable_time_drift": false,
  "data_folder": "data",
  "database_conn_init": "",
  "database_max_conns": 10,
  "database_timeout": 30,
  "database_url": "**********://******************************************************************************************************************",
  "db_connection_retries": 15,
  "disable_2fa_remember": false,
  "disable_admin_token": false,
  "disable_icon_download": false,
  "domain": "*****://********************",
  "domain_origin": "*****://********************",
  "domain_path": "",
  "domain_set": true,
  "duo_context_purge_schedule": "30 * * * * *",
  "duo_host": null,
  "duo_ikey": null,
  "duo_skey": null,
  "duo_use_iframe": false,
  "email_2fa_auto_fallback": false,
  "email_2fa_enforce_on_verified_invite": false,
  "email_attempts_limit": 3,
  "email_change_allowed": true,
  "email_expiration_time": 600,
  "email_token_size": 6,
  "emergency_access_allowed": true,
  "emergency_notification_reminder_schedule": "0 3 * * * *",
  "emergency_request_timeout_schedule": "0 7 * * * *",
  "enable_db_wal": true,
  "enable_websocket": true,
  "enforce_single_org_with_reset_pw_policy": false,
  "event_cleanup_schedule": "0 10 0 * * *",
  "events_days_retain": null,
  "experimental_client_feature_flags": "fido2-vault-credentials",
  "extended_logging": true,
  "helo_name": null,
  "hibp_api_key": null,
  "http_request_block_non_global_ips": true,
  "http_request_block_regex": null,
  "icon_blacklist_non_global_ips": true,
  "icon_blacklist_regex": null,
  "icon_cache_folder": "data/icon_cache",
  "icon_cache_negttl": 259200,
  "icon_cache_ttl": 2592000,
  "icon_download_timeout": 10,
  "icon_redirect_code": 302,
  "icon_service": "internal",
  "incomplete_2fa_schedule": "30 * * * * *",
  "incomplete_2fa_time_limit": 3,
  "increase_note_size_limit": false,
  "invitation_expiration_hours": 120,
  "invitation_org_name": "Vaultwarden",
  "invitations_allowed": true,
  "ip_header": "X-Real-IP",
  "job_poll_interval_ms": 30000,
  "log_file": null,
  "log_level": "info",
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "login_ratelimit_max_burst": 10,
  "login_ratelimit_seconds": 60,
  "org_attachment_limit": null,
  "org_creation_users": "",
  "org_events_enabled": false,
  "org_groups_enabled": false,
  "password_hints_allowed": true,
  "password_iterations": 600000,
  "push_enabled": false,
  "push_identity_uri": "https://identity.bitwarden.com",
  "push_installation_id": "***",
  "push_installation_key": "***",
  "push_relay_uri": "https://push.bitwarden.com",
  "reload_templates": false,
  "require_device_email": false,
  "rsa_key_filename": "data/rsa_key",
  "send_purge_schedule": "0 5 * * * *",
  "sendmail_command": null,
  "sends_allowed": true,
  "sends_folder": "data/sends",
  "show_password_hint": false,
  "signups_allowed": true,
  "signups_domains_whitelist": "",
  "signups_verify": true,
  "signups_verify_resend_limit": 6,
  "signups_verify_resend_time": 3600,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "smtp_auth_mechanism": null,
  "smtp_debug": false,
  "smtp_embed_images": true,
  "smtp_explicit_tls": null,
  "smtp_from": "***********************",
  "smtp_from_name": "no-reply@hks-projekt.at",
  "smtp_host": "*******************",
  "smtp_password": "***",
  "smtp_port": 25,
  "smtp_security": "starttls",
  "smtp_ssl": null,
  "smtp_timeout": 15,
  "smtp_username": "************************",
  "templates_folder": "data/templates",
  "tmp_folder": "data/tmp",
  "trash_auto_delete_days": null,
  "trash_purge_schedule": "0 5 0 * * *",
  "use_sendmail": false,
  "use_syslog": false,
  "user_attachment_limit": null,
  "user_send_limit": null,
  "web_vault_enabled": true,
  "web_vault_folder": "web-vault/",
  "yubico_client_id": null,
  "yubico_secret_key": null,
  "yubico_server": null
}

Vaultwarden Build Version

1.33.2

Deployment method

Official Container Image

Custom deployment method

Official image deployed at Kubernetes

Reverse Proxy

1.27.4-1+ubuntu24.04.1+deb.sury.org+3

Host/Server Operating System

Linux

Operating System Version

Ubuntu 24.04

Clients

Web Vault, Browser Extension

Client Version

any

Steps To Reproduce

  1. Go to any entry with existing attachment.
  2. Download it.
  3. Get 404 error code

Expected Result

Download possible

Actual Result

Download not possible as 404 not found

Logs

Pod log:

[2025-04-03 04:45:41.559][response][INFO] (get_attachment) GET /api/ciphers/<cipher_id>/attachment/<attachment_id> => 200 OK
[2025-04-03 04:45:41.562][request][INFO] GET /attachments/34031fdb-f2a8-432d-9e2a-10efc17775c2/7a1262d995d621c69f44?token=eyJ0eXAiOiJKV1QiLCJhbGci
[2025-04-03 04:45:41.562][response][INFO] (attachments) GET /attachments/<cipher_id>/<file_id>?<token> => 404 Not Found
[2025-04-03 04:46:43.019][request][INFO] GET /api/ciphers/34031fdb-f2a8-432d-9e2a-10efc17775c2/attachment/820e0c1d68b270871085
[2025-04-03 04:46:43.024][response][INFO] (get_attachment) GET /api/ciphers/<cipher_id>/attachment/<attachment_id> => 200 OK
[2025-04-03 04:46:43.027][request][INFO] GET /attachments/34031fdb-f2a8-432d-9e2a-10efc17775c2/820e0c1d68b270871085?token=eyJ0eXAiOiJKV1QiLCJhbGci
[2025-04-03 04:46:43.028][response][INFO] (attachments) GET /attachments/<cipher_id>/<file_id>?<token> => 404 Not Found


Reverse proxy logs:

10.0.10.1 - - [03/Apr/2025:06:45:41 +0200] "GET /api/ciphers/34031fdb-f2a8-432d-9e2a-10efc17775c2/attachment/7a1262d995d621c69f44 HTTP/3.0" 200 1102 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36"
10.0.10.1 - - [03/Apr/2025:06:45:41 +0200] "GET /attachments/34031fdb-f2a8-432d-9e2a-10efc17775c2/7a1262d995d621c69f44?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJuYmYiOjE3NDM2NTU1NDEsImV4cCI6MTc0MzY1NTg0MSwiaXNzIjoiaHR0cHM6Ly92YXVsdC5oa3MtcHJvamVrdC5hdHxmaWxlX2Rvd25sb2FkIiwic3ViIjoiMzQwMzFmZGItZjJhOC00MzJkLTllMmEtMTBlZmMxNzc3NWMyIiwiZmlsZV9pZCI6IjdhMTI2MmQ5OTVkNjIxYzY5ZjQ0In0.O-DNYkDpJyWTOMXghxFeJKoOYEOde_HHS_7m2BWKbc0-fzdO-3TwRh84TVi1DtcbcAhXnBTNfKT0SHocsZTGCfFAaekcrZTcu6_yaPGK65NqhOuPp_rII9xh7qZAXAK4ArRUijyXxF230n8QPJyLOFLO8mOYo91LvhtB5uWQa36Ep9LqnHpysev3CORneVlJdfgur2wxORM3pUYURD66kYsxDGPnimXEbkt86EQHTLgdGdXmsFMcl3ByjJwjmN1IGC9_PlcGx0ZILIq6uTFy7sHuiBk0lznK2c0NQTLUJ1HheI1vtIM00AI0mIW0lILM2qD9ezVl2EcX0KcevdVmxw HTTP/3.0" 404 835 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36"

Screenshots or Videos

No response

Additional Context

Interesting fact is the if you upload a new attachment and try to download this instantly it works.
Only for stuff I uploaded as attachment yesterday or earlier it is not working.

Originally created by @derritter88 on GitHub (Apr 3, 2025). ### Vaultwarden Support String ### Your environment (Generated via diagnostics page) * Vaultwarden version: v1.33.2 * Web-vault version: v2025.1.1 * OS/Arch: linux/x86_64 * Running within a container: true (Base: Debian) * Database type: PostgreSQL * Database version: PostgreSQL 17.4 (Ubuntu 17.4-1.pgdg24.04+2) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, 64-bit * Environment settings overridden!: false * Uses a reverse proxy: true * IP Header check: true (X-Real-IP) * Internet access: true * Internet access via a proxy: false * DNS Check: true * Browser/Server Time Check: true * Server/NTP Time Check: true * Domain Configuration Check: true * HTTPS Check: true * Websocket Check: true * HTTP Response Checks: true ### Config & Details (Generated via diagnostics page) <details><summary>Show Config & Details</summary> **Config:** ```json { "_duo_akey": null, "_enable_duo": true, "_enable_email_2fa": true, "_enable_smtp": true, "_enable_yubico": true, "_icon_service_csp": "", "_icon_service_url": "", "_ip_header_enabled": true, "_max_note_size": 10000, "_smtp_img_src": "***:", "admin_ratelimit_max_burst": 3, "admin_ratelimit_seconds": 300, "admin_session_lifetime": 20, "admin_token": "***", "allowed_connect_src": "", "allowed_iframe_ancestors": "", "attachments_folder": "data/attachments", "auth_request_purge_schedule": "30 * * * * *", "authenticator_disable_time_drift": false, "data_folder": "data", "database_conn_init": "", "database_max_conns": 10, "database_timeout": 30, "database_url": "**********://******************************************************************************************************************", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "domain": "*****://********************", "domain_origin": "*****://********************", "domain_path": "", "domain_set": true, "duo_context_purge_schedule": "30 * * * * *", "duo_host": null, "duo_ikey": null, "duo_skey": null, "duo_use_iframe": false, "email_2fa_auto_fallback": false, "email_2fa_enforce_on_verified_invite": false, "email_attempts_limit": 3, "email_change_allowed": true, "email_expiration_time": 600, "email_token_size": 6, "emergency_access_allowed": true, "emergency_notification_reminder_schedule": "0 3 * * * *", "emergency_request_timeout_schedule": "0 7 * * * *", "enable_db_wal": true, "enable_websocket": true, "enforce_single_org_with_reset_pw_policy": false, "event_cleanup_schedule": "0 10 0 * * *", "events_days_retain": null, "experimental_client_feature_flags": "fido2-vault-credentials", "extended_logging": true, "helo_name": null, "hibp_api_key": null, "http_request_block_non_global_ips": true, "http_request_block_regex": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "data/icon_cache", "icon_cache_negttl": 259200, "icon_cache_ttl": 2592000, "icon_download_timeout": 10, "icon_redirect_code": 302, "icon_service": "internal", "incomplete_2fa_schedule": "30 * * * * *", "incomplete_2fa_time_limit": 3, "increase_note_size_limit": false, "invitation_expiration_hours": 120, "invitation_org_name": "Vaultwarden", "invitations_allowed": true, "ip_header": "X-Real-IP", "job_poll_interval_ms": 30000, "log_file": null, "log_level": "info", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "login_ratelimit_max_burst": 10, "login_ratelimit_seconds": 60, "org_attachment_limit": null, "org_creation_users": "", "org_events_enabled": false, "org_groups_enabled": false, "password_hints_allowed": true, "password_iterations": 600000, "push_enabled": false, "push_identity_uri": "https://identity.bitwarden.com", "push_installation_id": "***", "push_installation_key": "***", "push_relay_uri": "https://push.bitwarden.com", "reload_templates": false, "require_device_email": false, "rsa_key_filename": "data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sendmail_command": null, "sends_allowed": true, "sends_folder": "data/sends", "show_password_hint": false, "signups_allowed": true, "signups_domains_whitelist": "", "signups_verify": true, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": null, "smtp_debug": false, "smtp_embed_images": true, "smtp_explicit_tls": null, "smtp_from": "***********************", "smtp_from_name": "no-reply@hks-projekt.at", "smtp_host": "*******************", "smtp_password": "***", "smtp_port": 25, "smtp_security": "starttls", "smtp_ssl": null, "smtp_timeout": 15, "smtp_username": "************************", "templates_folder": "data/templates", "tmp_folder": "data/tmp", "trash_auto_delete_days": null, "trash_purge_schedule": "0 5 0 * * *", "use_sendmail": false, "use_syslog": false, "user_attachment_limit": null, "user_send_limit": null, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "yubico_client_id": null, "yubico_secret_key": null, "yubico_server": null } ``` </details> ### Vaultwarden Build Version 1.33.2 ### Deployment method Official Container Image ### Custom deployment method Official image deployed at Kubernetes ### Reverse Proxy 1.27.4-1+ubuntu24.04.1+deb.sury.org+3 ### Host/Server Operating System Linux ### Operating System Version Ubuntu 24.04 ### Clients Web Vault, Browser Extension ### Client Version any ### Steps To Reproduce 1. Go to any entry with existing attachment. 2. Download it. 3. Get 404 error code ### Expected Result Download possible ### Actual Result Download not possible as 404 not found ### Logs ```text Pod log: [2025-04-03 04:45:41.559][response][INFO] (get_attachment) GET /api/ciphers/<cipher_id>/attachment/<attachment_id> => 200 OK [2025-04-03 04:45:41.562][request][INFO] GET /attachments/34031fdb-f2a8-432d-9e2a-10efc17775c2/7a1262d995d621c69f44?token=eyJ0eXAiOiJKV1QiLCJhbGci [2025-04-03 04:45:41.562][response][INFO] (attachments) GET /attachments/<cipher_id>/<file_id>?<token> => 404 Not Found [2025-04-03 04:46:43.019][request][INFO] GET /api/ciphers/34031fdb-f2a8-432d-9e2a-10efc17775c2/attachment/820e0c1d68b270871085 [2025-04-03 04:46:43.024][response][INFO] (get_attachment) GET /api/ciphers/<cipher_id>/attachment/<attachment_id> => 200 OK [2025-04-03 04:46:43.027][request][INFO] GET /attachments/34031fdb-f2a8-432d-9e2a-10efc17775c2/820e0c1d68b270871085?token=eyJ0eXAiOiJKV1QiLCJhbGci [2025-04-03 04:46:43.028][response][INFO] (attachments) GET /attachments/<cipher_id>/<file_id>?<token> => 404 Not Found Reverse proxy logs: 10.0.10.1 - - [03/Apr/2025:06:45:41 +0200] "GET /api/ciphers/34031fdb-f2a8-432d-9e2a-10efc17775c2/attachment/7a1262d995d621c69f44 HTTP/3.0" 200 1102 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36" 10.0.10.1 - - [03/Apr/2025:06:45:41 +0200] "GET /attachments/34031fdb-f2a8-432d-9e2a-10efc17775c2/7a1262d995d621c69f44?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJuYmYiOjE3NDM2NTU1NDEsImV4cCI6MTc0MzY1NTg0MSwiaXNzIjoiaHR0cHM6Ly92YXVsdC5oa3MtcHJvamVrdC5hdHxmaWxlX2Rvd25sb2FkIiwic3ViIjoiMzQwMzFmZGItZjJhOC00MzJkLTllMmEtMTBlZmMxNzc3NWMyIiwiZmlsZV9pZCI6IjdhMTI2MmQ5OTVkNjIxYzY5ZjQ0In0.O-DNYkDpJyWTOMXghxFeJKoOYEOde_HHS_7m2BWKbc0-fzdO-3TwRh84TVi1DtcbcAhXnBTNfKT0SHocsZTGCfFAaekcrZTcu6_yaPGK65NqhOuPp_rII9xh7qZAXAK4ArRUijyXxF230n8QPJyLOFLO8mOYo91LvhtB5uWQa36Ep9LqnHpysev3CORneVlJdfgur2wxORM3pUYURD66kYsxDGPnimXEbkt86EQHTLgdGdXmsFMcl3ByjJwjmN1IGC9_PlcGx0ZILIq6uTFy7sHuiBk0lznK2c0NQTLUJ1HheI1vtIM00AI0mIW0lILM2qD9ezVl2EcX0KcevdVmxw HTTP/3.0" 404 835 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36" ``` ### Screenshots or Videos _No response_ ### Additional Context Interesting fact is the if you upload a new attachment and try to download this instantly it works. Only for stuff I uploaded as attachment yesterday or earlier it is not working.
OVERLORD added the bug label 2026-02-05 03:40:52 +03:00
Author
Owner

@BlackDex commented on GitHub (Apr 3, 2025):

Are those files still on the server then?

Looks like the files do not exist anymore.
Vaultwarden doesn't delete them on it's own, so something must have happened with your storage.

@BlackDex commented on GitHub (Apr 3, 2025): Are those files still on the server then? Looks like the files do not exist anymore. Vaultwarden doesn't delete them on it's own, so something must have happened with your storage.
Author
Owner

@derritter88 commented on GitHub (Apr 3, 2025):

They are stored at the database at the attachements table.

@derritter88 commented on GitHub (Apr 3, 2025): They are stored at the database at the `attachements` table.
Author
Owner

@BlackDex commented on GitHub (Apr 3, 2025):

And how did you establish that?
Vaultwarden doesn't have a feature to store attachments inside the database as blobs. They are stored on disk as files in the data directory. If that isn't persistent, then that explains your missing files.

@BlackDex commented on GitHub (Apr 3, 2025): And how did you establish that? Vaultwarden doesn't have a feature to store attachments inside the database as blobs. They are stored on disk as files in the data directory. If that isn't persistent, then that explains your missing files.
Author
Owner

@derritter88 commented on GitHub (Apr 3, 2025):

Ahh okay.
Which is interessting as in previous times this worked out without a persistent volume (in Kubernetes context).
Will take a look into that and.

May I just ask why there is an attachment table at the database if it's not being used at all?

@derritter88 commented on GitHub (Apr 3, 2025): Ahh okay. Which is interessting as in previous times this worked out without a persistent volume (in Kubernetes context). Will take a look into that and. May I just ask why there is an attachment table at the database if it's not being used at all?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/vaultwarden#2230