LiveActive security incident?Get immediate response
CVE Record

CVE-2026-15689: Dancer2::Plugin::Auth::Extensible versions through 0.713 for Perl allow password reset link poisoning via the request Host header in _default_email_password_reset and _default_welcome_send

Dancer2::Plugin::Auth::Extensible versions through 0.713 for Perl allow password reset link poisoning via the request Host header in _default_email_password_reset and _default_welcome_send. Both default emails emit a link of the form `$base/login/$code`, whose authority comes from the request Host header, or from X-Forwarded-Host under behind_proxy (obtained from Dancer2's request->base function). A POST to /login carrying submit_reset and a username needs no authentication: it stores a fresh reset code against that account and mails the account holder a link to a host of the sender's choosing. The welcome mail takes the same path when the application calls create_user with email_welcome set. Through 0.711 the handlers read `request->uri_base` and `request->base` directly; Versions 0.712 and later provide an uri_base configuration key that defaults to the untrusted `request->uri_base` when unset. The default configuration with reset_password_handler enabled and the default message text, a recipient who follows the link hands a working reset code to the sender's host, which is enough to take over the account.

CriticalCVSS 9.8Not KEV-listedUpdated
Glexia's TakeAutomated analysiscritical

Security readout for executives and security teams

Plain-English summary

Affected Perl applications can generate password-reset or welcome links using a hostname supplied by an untrusted requester. If a recipient follows the poisoned link, the reset code can be exposed to an attacker-controlled host, enabling account takeover. Impact depends on the application using the affected default email behavior.

Executive priority

Treat as an urgent identity-security issue for exposed applications because successful abuse can enable account takeover. Immediately identify affected deployments, constrain trusted hostnames, and suspend vulnerable email flows if necessary. The source bundle names no confirmed fixed release, so remediation decisions should follow current vendor guidance.

Technical view

Dancer2::Plugin::Auth::Extensible through 0.713 derives emailed link authority from request->base or request->uri_base. This can trust Host, or X-Forwarded-Host when behind_proxy is enabled. The unauthenticated reset flow creates and emails a fresh code; uri_base configuration in 0.712–0.713 remains unsafe when unset because it defaults to request data.

Likely exposure

Prioritize Perl applications using Dancer2::Plugin::Auth::Extensible through 0.713 with reset_password_handler and default reset emails enabled. Welcome emails are also exposed when create_user uses email_welcome. Risk is greatest where Host or forwarded-host values reach the application without strict validation and uri_base is unset or request-derived.

Exploitation context

The supplied record marks this CVE critical with CVSS 3.1 score 9.8. It is not listed as KEV, and the bundle provides no evidence of active exploitation. Successful account takeover requires the recipient to follow the attacker-influenced emailed link, despite the supplied CVSS vector stating UI:N.

Researcher notes

Review _default_email_password_reset and _default_welcome_send, including proxy-dependent request->base behavior. Versions through 0.711 read request-derived bases directly; 0.712–0.713 add uri_base but default it to request->uri_base when unset. Determine whether application overrides, middleware, or proxy validation prevent untrusted authority values from reaching email construction.

Mitigation direction

  • Inventory applications using Dancer2::Plugin::Auth::Extensible through version 0.713.
  • Check vendor guidance and release notes for a corrected version before upgrading.
  • Set uri_base explicitly to the application's trusted canonical HTTPS origin where supported.
  • Reject unexpected Host and forwarded-host values at trusted proxy and application boundaries.
  • Disable affected default reset or welcome emails until safely configured or updated.

Validation and detection

  • Confirm the installed package version and effective uri_base configuration.
  • Identify whether reset_password_handler or email_welcome invokes the default email generators.
  • Verify only approved hostnames can influence generated email links.
  • Inspect recent reset and welcome activity for unexpected destination hostnames.
  • Retest generated links after remediation using controlled, non-production accounts.
Prepared
Confidence
high
Sources
6

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-640: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
description · low confidence lookup

Credential and access behavior lookup

The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-15689 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Critical
CVSS
9.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
2ADP providers
5Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
9.8CVSS 3.1CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H3.95.9CISA-ADP

Vulnerability scoring details

Base CVSS 3.1 score

9.8Critical
CVSS 3.1 vector shape for CVE-2026-15689Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
CISA-ADPCISA ADP Vulnrichment
cvssV3_1other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
ABEVERLEYDancer2::Plugin::Auth::ExtensibleDancer2-Plugin-Auth-Extensible, 0unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-640 · source CWE mapping

Weak Password Recovery Mechanism for Forgotten Password

Weak Password Recovery Mechanism for Forgotten Password represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.