IRRd: web UI host header injection allows password reset poisoning via attacker-controlled email links
Date: 2026-03
Affected: pip/irrd, pip/irrd
Attack vector: other
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2026-28681
CWE: CWE-601
CWE-640
CVSS: 8.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N)

## Impact An attacker can manipulate the HTTP `Host` header on a password reset or account creation request. The confirmation link in the resulting email can then point to an attacker-controlled domain. Opening the link in the email is sufficient to pass the token to the attacker, who can then use it on the real IRRD instance to take over the account. A compromised account can then be used to modify RPSL objects maintained by the account's mntners and perform other account actions. If the user had two-factor authentication configured, which is required for users with override access, an attacker is not able to log in, even after successfully resetting the password. This issue affects IRRD 4.5.0 and all 4.4.x versions prior to 4.4.5. IRRD 4.3 and earlier are not affected, as they did not include the web UI. ## Cause Email links in account creation, password reset, and mntner migration emails were generated from the HTTP request context, allowing an attacker to manipulate the HTTP `Host` header to redirect these links to an attacker-controlled domain (password reset poisoning). ## Resolution Requests with a `Host` header that does not match `server.http.url` are now rejected, preventing Host header injection attacks against the web UI. All existing password reset tokens are invalidated by this upgrade, rendering any tokens that may have been captured by an attacker unusable. Patched versions: 4.4.5 and 4.5.1. ## Workarounds Configuring a reverse proxy (such as nginx)


Mitigations:

Architectural layers (MAESTRO):