Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessHost public page with IP-literal favicon
-
DeliveryTrigger Vaultwarden icon fetch for attacker domain
-
ExploitParser extracts loopback/internal favicon URL
-
ExecutionServer fetches IP literal, bypassing DNS resolver checks
-
ImpactExpose internal response or probe reachability via timing/status/cache
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable only on instances with internal icon downloading enabled (i.e. ICON_SERVICE set to the internal/bundled downloader and DISABLE_ICON_DOWNLOAD not set to true) - the documented workaround of pointing ICON_SERVICE at an external provider or setting DISABLE_ICON_DOWNLOAD=true eliminates the exposure. The attacker must host a publicly routable web page whose host passes the initial should_block_host() check, and whose HTML contains a favicon (or <base>) URL using a raw IP literal (e.g. http://127.0.0.1:PORT/..., http://[::1]:PORT/..., 169.254.169.254, or private-range/IPv4-mapped IPv6 literals); IP-literal URLs are what skip reqwest's custom DNS resolver, so a domain-name second-stage URL would still be caught. Per CVSS PR:N/UI:N it needs no authentication or user interaction, but the practical payoff is limited to internal services reachable from the Vaultwarden host and whose responses either resemble supported image formats or leak information through timing, status code, or cache behavior. |
| Impact | This is a server-side request forgery (CWE-918) rated CVSS 5.8 with vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N - network-reachable, low complexity, no privileges or user interaction, a changed scope (the server is coerced into reaching internal systems), and limited confidentiality impact only. The vuln.today decision label is 'this_month' (not act_now/emergency), consistent with a medium-severity, limited-impact SSRF rather than a drop-everything issue. No EPSS score and no CISA KEV status were supplied, so there is no signal of active or widespread exploitation; exploitation status is best described as no confirmed active exploitation. The GHSA advisory does include reporter reproduction evidence (a loopback canary hit, resolver_calls=0, 'SSRFHIT!'), so a public PoC description exists, but the input does not mark it as 'Publicly available (confirmed)' weaponized exploit code. The impact is bounded: C:L/I:N/A:N and the strongest demonstrated effect is loopback reachability plus internal probing via timing/status/cache behavior - not full read of arbitrary internal data, and cloud-metadata reach (169.254.169.254) was only a suggested regression test, not demonstrated. Net: a genuine but moderate-priority issue - real because it is remote/unauthenticated and bypasses a prior fix (CVE-2026-47160), but not a high-urgency emergency given limited impact, no KEV, and no EPSS/active-exploitation evidence. Note the dependency: risk only materializes on instances with internal icon downloading enabled. |
| Exploit ScenarioDerived | A remote unauthenticated attacker hosts an ordinary public web page on a routable domain that passes Vaultwarden's initial icon-host validation, embedding a favicon link such as <link rel="icon" href="http://127.0.0.1:8080/favicon.ico">. When Vaultwarden's internal icon endpoint fetches and parses that page, it follows the attacker-controlled IP-literal favicon URL without re-applying should_block_host(), so reqwest connects directly to loopback/internal addresses, bypassing the custom DNS resolver allowlist. Given AV:N/AC:L/PR:N/UI:N, this is low-effort to trigger; reporters confirmed loopback reachability with a regression test, though no standalone weaponized public exploit is listed in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Server-side request forgery in Vaultwarden 1.36.0 and earlier allows a remote unauthenticated attacker to steer the server's built-in icon downloader at loopback, link-local (169.254.169.254) or private-range addresses by embedding an IP-literal favicon URL such as http://127.0.0.1:PORT/favicon.ico in an otherwise benign public page. The flaw is a bypass of the fix for CVE-2026-47160: the initial icon host and DNS answers are validated, but discovered favicon URLs are fetched through get_page_with_referer() without should_block_host(), and IP-literal URLs never invoke reqwest's custom DNS resolver, so the post_resolve() allowlist is skipped entirely. Exposure is limited to instances with internal icon downloading enabled, impact is capped at limited confidentiality (internal responses that resemble supported images, plus reachability inference via timing, status and cache behaviour), and no public exploit code or confirmed active exploitation was identified at time of analysis; a vendor patch exists in 1.37.0.
RemediationAI
Vendor-released patch: upgrade to Vaultwarden 1.37.0 or later, which makes get_page_with_referer() parse every URL, reject non-http(s) schemes, and apply should_block_host() to the host before each fetch, covering the initial page request and every favicon or <base> URL discovered in fetched HTML (advisory https://github.com/dani-garcia/vaultwarden/security/advisories/GHSA-hw4g-2v3f-74x5, PR https://github.com/dani-garcia/vaultwarden/pull/7472, commit 46ae59eaf444f0ae0a799070cf2bd6c415284a51). Where upgrading is not immediately possible, the vendor documents two workarounds for older versions: set ICON_SERVICE to an external icon provider, which removes the server-side fetch of attacker-chosen URLs at the cost of depending on a third-party service and leaking requested domains to it, or set DISABLE_ICON_DOWNLOAD=true, which eliminates the SSRF path entirely but stops icons from being fetched and cached locally so clients fall back to their own icon handling.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Vaultwarden is a Bitwarden-compatible server written in Rust. Its icon retrieval endpoint parses a user-supplied target host with get_valid_host() and applies should_block_host(), and a custom reqwest DNS resolver runs post_resolve() to reject DNS answers pointing at non-global IPs - the layered normalisation (decimal, hexadecimal, octal, IPv4-mapped IPv6) added for CVE-2026-47160 / GHSA-72vh-x5jq-m82g in 1.36.0. The gap is at the second stage: after fetching and parsing the attacker's HTML page, src/api/icons.rs walks each <link rel="icon"> (or <base>) URL, joins it against the page URL, and hands it to get_page_with_referer(), which issues CLIENT.get(url) without parsing the host or calling should_block_host(). Because the custom resolver is only consulted for hostnames requiring DNS resolution, an IP-literal URL is connected to directly and the resolver-level allowlist never executes - a reporter's probe with a deny-all resolver logged resolver_calls=0 while still reaching a loopback canary. The underlying class is CWE-918 (server-side request forgery): a trust boundary is crossed because validation is applied to the first URL but not to URLs derived from attacker-controlled content, a changed-scope condition reflected in the S:C metric.
Know when Vaultwarden gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Remote unauthenticated with no interaction (AV:N/AC:L/PR:N/UI:N); the server is coerced into reaching other internal systems (S:C) with limited information exposure and no integrity/availability impact (C:L/I:N/A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Vaultwarden is a Bitwarden-compatible server written in Rust. Prior to version 1.37.0, the Vaultwarden icon downloader validates the initial icon host and DNS results but passes favicon URLs parsed from attacker-controlled HTML to get_page_with_referer() without applying should_block_host() to the second-stage host. This flaw bypasses the remediation for CVE-2026-47160, which covered decimal, hexadecimal, octal, and IPv4-mapped IPv6 host normalization, because the second-stage IP-literal favicon fetch does not invoke the custom DNS resolver. A remote unauthenticated attacker can provide a public page whose favicon uses an IP-literal URL, allowing the Vaultwarden server to reach loopback or private and internal addresses. The issue affects instances with internal icon downloading enabled and can expose internal responses that resemble supported images or reveal reachability through timing, status, and cache behavior. This issue is fixed in version 1.37.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
More in Vaultwarden
View allTwo-factor authentication bypass in Vaultwarden 1.34.3 and earlier allows authenticated attackers to circumvent 2FA prot
Vaultwarden before 1.35.4 exposes a password-validity oracle at /api/two-factor/send-email-login when server-side email
Cross-organization authorization bypass in Vaultwarden (the Rust-based, self-hosted Bitwarden-compatible server) prior t
Vaultwarden through 1.37.3 permits authenticated users who hold a revoked or not-yet-confirmed organization membership t
Session hijacking via a broken SSO/OAuth authorization flow affects Vaultwarden (the Rust-based Bitwarden-compatible ser
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
Improper authorization in Vaultwarden (self-hosted Bitwarden-compatible server) before 1.35.5 lets an authenticated user
Session persistence in Vaultwarden 1.35.4 and earlier lets a stolen refresh token outlive the account-hardening steps a
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
Vaultwarden's SSO discovery endpoint exposed real organization SSO metadata - including organizationIdentifier values -
EUVD-2026-111236
NVD
CVE.org
EPSS
GitHub
Exploit-DB