PatchSiren cyber security CVE debrief
CVE-2026-12746 BIAFRA CVE debrief
CVE-2026-12746 is a vulnerability in Dancer2::Plugin::Auth::OAuth::Provider versions before 0.23 for Perl. The plugin does not support the OAuth 2.0 state parameter, which allows an attacker to perform a login cross-site request forgery (CSRF) attack. An attacker can start an authorization with their own provider account and deliver the resulting callback to a victim, causing the victim's session to complete the attacker's authorization and associate the attacker's provider identity and access token with that session. This vulnerability can lead to unauthorized access to a victim's account if the application persists the attacker's provider credentials as an account link.
- Vendor
- BIAFRA
- Product
- Dancer2::Plugin::Auth::OAuth::Provider
- CVSS
- Unknown
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-04
- Original CVE updated
- 2026-07-04
- Advisory published
- 2026-07-04
- Advisory updated
- 2026-07-04
Who should care
Developers and administrators of applications using Dancer2::Plugin::Auth::OAuth::Provider for OAuth 2.0 login should be aware of this vulnerability and take steps to mitigate it. This includes updating to version 0.23 or later of the plugin and implementing additional security measures to prevent CSRF attacks.
Technical summary
The authentication_url method in Dancer2::Plugin::Auth::OAuth::Provider builds the provider authorization redirect without issuing a state value. The callback method exchanges the callback code and registers the resulting token into the session without verifying that the callback corresponds to an authorization request this session initiated. This allows an attacker to perform a CSRF attack by delivering the callback to a victim, causing the victim's session to complete the attacker's authorization.
Defensive priority
High priority should be given to updating to version 0.23 or later of Dancer2::Plugin::Auth::OAuth::Provider. Additionally, applications should implement CSRF protection mechanisms, such as token-based validation, to prevent attacks.
Recommended defensive actions
- Update to version 0.23 or later of Dancer2::Plugin::Auth::OAuth::Provider
- Implement CSRF protection mechanisms, such as token-based validation
- Verify that the callback corresponds to an authorization request this session initiated
- Use a secure token to prevent CSRF attacks
- Monitor for suspicious activity and implement incident response plans
Evidence notes
The CVE record and NVD detail provide information on the vulnerability, including its description, CVSS score, and references. The source item URL provides additional information on the vulnerability, including its status and references.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-12746 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-12746
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-12746 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-12746
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://datatracker.ietf.org/doc/html/rfc6749
9b29abf9-4ab0-4765-b253-1875cd9b441e
-
Source reference
Unverified legacy reference
URL: https://github.com/biafra/perl-Dancer2-Plugin-Auth-OAuth/commit/806420fc2abbe13bede4461475f2f3dcd7daf5f2.patch
9b29abf9-4ab0-4765-b253-1875cd9b441e
-
Source reference
Unverified legacy reference
URL: https://metacpan.org/release/BIAFRA/Dancer2-Plugin-Auth-OAuth-0.23/diff/BIAFRA/Dancer2-Plugin-Auth-OAuth-0.22
9b29abf9-4ab0-4765-b253-1875cd9b441e
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.