Skip to main content

AliasVault CVE-2026-94621

| EUVDEUVD-2026-102306 MEDIUM
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-10-15 GitHub_M
6.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register account on public self-hosted instance
  2. Delivery
    Submit favicon hostname backed by attacker DNS
  3. Exploit
    Return public IP during validation, private IP on connect
  4. Execution
    Server issues HTTP request to internal host
  5. Impact
    Exfiltrate internal response as Base64 and recon timing/errors

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
Exploitation Conditions

Exploitation requires a specific stacked configuration, all stated in the advisory: (1) a publicly reachable self-hosted AliasVault server (<0.30.3), (2) public registration enabled so the attacker can obtain an account, (3) an authenticated AliasVault account (low privilege), (4) an attacker-controlled authoritative DNS server to serve differing records between the validation and connection lookups, and (5) a resolver that permits DNS rebinding. Exploitation is further LIMITED by default port checks that restrict outbound requests to ports 80 and 443, by the high timing coordination needed to win the TOCTOU window between the two lookups, and by scope: only the server-side favicon extractor is affected - the browser extensions, web application, and mobile applications are explicitly NOT affected. Instances with public registration disabled or that are not publicly reachable are not practically exploitable by external attackers.

Impact

This is a genuine but conditional SSRF via DNS rebinding (CWE-367 TOCTOU: a first DNS lookup validates the hostname, a second lookup during connection is trusted), and the real-world risk is moderate rather than urgent. The provided CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N = 6.3 Medium) is internally consistent with the description: network reachable but high complexity (AC:H reflects the need for an attacker-controlled authoritative DNS server plus a rebinding-permissive resolver), low-privilege authentication (PR:L matches 'authenticated low-privileged user'), and a scope change (S:C) because the vulnerable API server is coerced into reaching other internal systems. No EPSS score, KEV entry, or POC was supplied in the input, so there is no public exploitation signal to weigh against the CVSS - meaning priority rests entirely on the theoretical vector, which is itself gated by several stacked preconditions. The one point of tension: the vendor rates confidentiality as C:H, but the described disclosure is limited (Base64 of valid favicon images plus timing/error-based internal reconnaissance), so C:H likely overstates real impact - I assess C:L (see assessed vector). Net: a real priority only for operators running a publicly reachable self-hosted instance with open registration; for everyone else it is a defense-in-depth fix, not an emergency.

Exploit ScenarioDerived

An attacker registers a low-privileged account on a publicly reachable self-hosted AliasVault instance with open registration, then submits a hostname served by their own authoritative DNS. During AliasVault's validation lookup the DNS returns a public address, but during the HTTP client's second lookup it returns a private/internal address (classic rebinding), causing the server to fetch internal resources on port 80/443 and return valid images Base64-encoded plus timing/error signals. No public exploit code was identified in the provided data, though the technique is well-understood and the fix diff publicly documents the flawed single-validation path.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Server-side request forgery via DNS rebinding in the AliasVault self-hosted server's favicon extractor (versions prior to 0.30.3) allows an authenticated, low-privileged user to make the server issue HTTP/HTTPS requests to internal hosts and read back limited information about them. The flaw is a time-of-check/time-of-use race (CWE-367): the API validates a user-supplied hostname with one DNS lookup, but the HTTP client performs a second, independent lookup when connecting, so an attacker-controlled authoritative DNS server can answer with a public address during validation and a private address during connection. Exploitation is conditional and moderate in severity rather than urgent - it requires a publicly reachable self-hosted instance with public registration enabled, a valid AliasVault account, an attacker-controlled authoritative DNS server, and a resolver that permits rebinding; default checks limit outbound requests to ports 80 and 443, and the browser extensions, web application, and mobile apps are not affected. No public exploit code has been identified at time of analysis and the issue is not confirmed as actively exploited (no CISA KEV listing); the vendor released a fix in 0.30.3.

RemediationAI

Upgrade AliasVault server to version 0.30.3 or later - this is the vendor-released patch (release tag: https://github.com/aliasvault/aliasvault/releases/tag/0.30.3; advisory: https://github.com/aliasvault/aliasvault/security/advisories/GHSA-7hm6-fj4m-pf6f). The fix is contained in upstream PR https://github.com/aliasvault/aliasvault/pull/2311 and commits https://github.com/aliasvault/aliasvault/commit/7eb4fee71f4582cfc80b8daea421b99d6aa9f814 and https://github.com/aliasvault/aliasvault/commit/90ea7d6bb4c74ca169ee1dde3ca38b08bd0966ed, which collapse the two DNS lookups into a single validated resolution and reject any address set that mixes public and private IPs; operators running container images (ghcr.io/aliasvault/aliasvault, ghcr.io/aliasvault/api, ghcr.io/lanedirt/aliasvault-api) should pull the 0.30.3 tag and redeploy. If upgrade must be delayed, the highest-value compensating control is removing a prerequisite rather than relying on detection: disable public registration and provision accounts out-of-band, so an external attacker cannot obtain the authenticated low-privileged account the exploit requires - the trade-off is that self-service onboarding stops working. Equally effective is not exposing the instance directly to the internet (put it behind a VPN or an authenticating reverse proxy), which eliminates the publicly reachable precondition but requires every user to tunnel in. Network-layer mitigations also break the rebinding payload: apply egress firewall rules on the AliasVault host that deny outbound TCP/80 and TCP/443 to RFC1918, loopback, link-local, and CGNAT ranges (and IPv6 ULA/link-local), which should have negligible impact since favicon extraction targets public sites; and harden or replace the upstream resolver with rebinding protection (DNS pinning, dropping answers that change between queries, or refusing private-address answers for public names), accepting that resolver-level defenses are configuration-dependent and can be bypassed. Because the extractor already restricts requests to ports 80 and 443, blocking non-standard egress ports adds little beyond these measures. Monitor for unexpected outbound connections from the AliasVault server to internal address space as a detection backstop, but note that patches, not monitoring, close the TOCTOU window.

Affected VersionsENISA

ghcr.io/aliasvault/aliasvault < 0.30.3
ghcr.io/lanedirt/aliasvault-api < 0.30.3
aliasvault < 0.30.3
ghcr.io/aliasvault/api < 0.30.3

Affected Packages

euvd aliasvault fix: 0.30.3
euvd ghcr_io_aliasvault_aliasvault fix: 0.30.3
euvd ghcr_io_aliasvault_api fix: 0.30.3
euvd ghcr_io_lanedirt_aliasvault_api fix: 0.30.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AliasVault is a self-hosted, privacy-focused password manager with built-in email aliasing, and its server API includes a favicon extractor utility (AliasVault.FaviconExtractor) that fetches site icons for URLs supplied by users. That extractor is the vulnerable component: the root cause is CWE-367 (time-of-check time-of-use race condition) in the DNS resolution path, where the pre-flight validation lookup and the actual connection lookup are performed separately, allowing the two resolutions to disagree. The pre-fix implementation used an HttpClientHandler whose internal DNS resolution was trusted, so a hostname that passed the IPAddressValidator.IsPublicIPAddress check could still be connected to a private address on the second resolution. The upstream fix replaces HttpClientHandler with SocketsHttpHandler and a ConnectCallback (ConnectToValidatedAddressAsync) that resolves the hostname exactly once, validates the complete returned address set with a new AreIpAddressesPublic helper that rejects any set mixing public and private addresses, and only then opens the socket - collapsing check and use into a single resolution. The patch also adds a 5 MB MaxResponseContentBufferSize cap, aborts on HttpRequestException, and restricts requests to standard ports (renaming IsValidUri to IsAllowedSchemeAndPort), which is why the default port checks confine SSRF payloads to ports 80 and 443. Affected artifacts correspond to the server/API codebase and its published container images, reflected in CPE entries for cpe:2.3:a:aliasvault:aliasvault, cpe:2.3:a:aliasvault:ghcr.io/aliasvault/aliasvault, cpe:2.3:a:aliasvault:ghcr.io/aliasvault/api, and cpe:2.3:a:aliasvault:ghcr.io/lanedirt/aliasvault-api, all versioned as pre-0.30.3. Impact beyond reachability is limited: a valid image response is returned to the requester as Base64, while non-image responses expose only timing and error information usable for internal-network reconnaissance. The published CVSS v3.1 base score is 6.3 with vector CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N, indicating network attack, high attack complexity, low privileges required, scope change, and no integrity or availability impact; our independent assessment retains the same network, complexity, privilege, scope, and availability characteristics but rates the confidentiality impact as low (C:L) given that only Base64 favicon data plus timing/error leakage is exposed.

Know when Aliasvault 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

Vendor (GitHub_M) PRIMARY 6.3 MEDIUM
AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
vuln.today AI 3.5 LOW

Network-reachable but requires attacker DNS plus a rebinding resolver (AC:H), authenticated low-priv account (PR:L), scope change to internal hosts (S:C); disclosure is limited favicon/timing data so C:L, no integrity or availability impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 15, 2026 - 20:03 EUVD

DescriptionCVE.org

AliasVault is a privacy-first password manager with built-in email aliasing. Prior to 0.30.3, the AliasVault server API favicon extractor validates a user-supplied hostname with a first DNS lookup but allows the HTTP client to perform a second DNS lookup when connecting. An authenticated low-privileged user operating an attacker-controlled authoritative DNS server can return a public address during validation and a private address during connection, causing a publicly reachable self-hosted server to issue HTTP or HTTPS requests to internal hosts. A valid image response is returned in Base64 form, while other responses can expose limited timing and error information for internal-network reconnaissance. Exploitation requires a publicly reachable self-hosted instance with public registration enabled, an authenticated AliasVault account, an attacker-controlled authoritative DNS server, and a resolver that permits rebinding; default checks limit requests to ports 80 and 443. The browser extensions, web application, and mobile applications are not affected. This issue is fixed in version 0.30.3.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche self-hosted open-source password manager, small deployment footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy