CVE-2026-75628: Punk::OAuth2 versions before 0.03 for Perl allow an attacker-chosen off-site redirect after login because same_origin_path accepts a backslash or tab in the return parameter

Published Aug 20, 2026
·
Updated

Punk::OAuth2 versions before 0.03 for Perl allow an attacker-chosen off-site redirect after login because sameoriginpath accepts a backslash or tab in the return parameter.

oauth2login reads the return parameter from the initiation request, runs sameoriginpath over it, and stores the survivor in the session flow record as the post-login redirect target. That check rejects a value that does not begin with a slash, one with a slash as its second byte, and one containing CR or LF. A backslash and a tab pass. The URL Standard treats a backslash as equivalent to a slash for special schemes, so /\evil.example parses with the authority evil.example. It also strips ASCII tab before parsing, so a tab between two leading slashes leaves //evil.example.

A crafted link to the application's own login route lands the victim on the attacker's site after a genuine authentication. The redirect carries no authorization code or access token.

Affected Software

1 affected component
Punk Punk::OAuth2<0.03

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Punk::OAuth2 (Perl) to a version that resolves this vulnerability.

    Fixed in 0.03
  2. Compensating control

    If immediate upgrade is not possible, ensure the post-login redirect target is restricted to same-origin paths (disallow backslash or tab in the return parameter; reject values that do not begin with a slash or that contain CR or LF) before storing/using it in the session flow record.

Event History

Aug 20, 2026
CVE Published
via MITRE·12:40 AM
Data Sourced
via MITRE·12:40 AM
RemedyDescriptionWeakness

Frequently Asked Questions

1

Which deployments are affected?

Deployments using Punk::OAuth2 for Perl at versions before 0.03 are affected. Version 0.03 is not included in the affected version range.

2

What does an attacker need to exploit this?

The attacker needs to get a victim to follow a crafted link to the application's own OAuth2 login route with a malicious return parameter. After the victim completes genuine authentication, the application redirects the victim to the attacker-controlled site.

3

Are authorization codes or access tokens exposed by the redirect?

No. The described redirect does not carry an authorization code or access token.

4

What input patterns trigger the unsafe redirect behavior?

A return value beginning with a slash followed by a backslash can be interpreted as an off-site URL, such as /\evil.example. A tab placed between two leading slashes can also be stripped during URL parsing, leaving an off-site //evil.example URL.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203