Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Network attack, no privileges, no interaction, scope change, limited confidentiality impact only.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
Vaultwarden is a Bitwarden-compatible server written in Rust. Prior to 1.36.0, Vaultwarden's /icons/{domain}/icon.png endpoint used src/http_client.rs checks including should_block_address() and post_resolve() that missed decimal, hexadecimal, and octal IP representations, allowing SSRF through the icon-fetching HTTP client for blind internal network or port discovery. This issue is fixed in version 1.36.0.
AnalysisAI
Server-side request forgery (SSRF) in Vaultwarden's icon fetching endpoint allows blind internal network and port discovery via crafted hostnames using decimal, hexadecimal, or octal IP representations. Affected versions prior to 1.36.0. Public exploit code exists but no evidence of active exploitation; EPSS score is low (0.23%) suggesting limited real-world risk.
Technical ContextAI
The vulnerability is an SSRF (CWE-918) in the HTTP client used by Vaultwarden's icon endpoint. The function should_block_address() and post_resolve() in src/http_client.rs were designed to block private IP ranges but failed to handle decimal, hexadecimal, and octal IP representations (e.g., 0x7f000001 for 127.0.0.1). The affected product is Vaultwarden (cpe:2.3:a:dani-garcia:vaultwarden:*), a Bitwarden-compatible password manager server written in Rust. The icon-fetching HTTP client, based on reqwest, resolves hostnames without normalizing these alternate forms, allowing attackers to bypass address filters and probe internal hosts.
RemediationAI
Upgrade to Vaultwarden 1.36.0 or later, which replaces is_valid_domain() with get_valid_host() and should_block_address() with should_block_host() to properly normalize and block IP variants. If upgrading immediately is not possible, consider disabling the icon endpoint (/icons/) if not required, or restrict network access to the application using a firewall or reverse proxy to prevent outbound connections to internal networks. Note that disabling icons may degrade user experience.
More in Vaultwarden
View allTwo-factor authentication bypass in Vaultwarden 1.34.3 and earlier allows authenticated attackers to circumvent 2FA prot
Cross-organization authorization bypass in Vaultwarden (the Rust-based, self-hosted Bitwarden-compatible server) prior t
Vaultwarden versions prior to 1.35.4 fail to properly enforce collection management permissions, allowing authenticated
Vaultwarden versions before 1.35.4 contain a privilege escalation vulnerability that allows authenticated Manager-level
Session hijacking via a broken SSO/OAuth authorization flow affects Vaultwarden (the Rust-based Bitwarden-compatible ser
Improper authorization in Vaultwarden (self-hosted Bitwarden-compatible server) before 1.35.5 lets an authenticated user
Authentication bypass (account takeover) in Vaultwarden before 1.36.0 allows an attacker who controls a federated identi
vaultwarden is an unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs. Rated high sev
Brute-force protection bypass in Vaultwarden (the Rust Bitwarden-compatible server) before 1.35.4 lets unauthenticated r
Vaultwarden's SSO discovery endpoint exposed real organization SSO metadata - including organizationIdentifier values -
Insufficient session expiration in Vaultwarden prior to 1.35.5 allows an attacker holding a previously obtained refresh
Vaultwarden versions prior to 1.35.3 allow authenticated organization members to bypass collection-level access controls
Same weakness CWE-918 – Server-Side Request Forgery (SSRF)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-44696