Skip to content
Heist/ feed
Unrated

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

Type: advisorySource: Official CVE List1 source record

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. oauth2_login reads the return parameter from the initiation request, runs same_origin_path 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.

Announced Group revision 1
Original source ↗

CVE-2026-75628

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-75628

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "modules": [
      "Punk::OAuth2"
    ],
    "versions": [
      {
        "status": "affected",
        "version": "0",
        "lessThan": "0.03",
        "versionType": "custom"
      }
    ],
    "packageURL": "pkg:cpan/Punk-OAuth2",
    "packageName": "Punk-OAuth2",
    "programFiles": [
      "include/pox/pox_util.h",
      "lib/Punk/Plugin/OAuth2.pm"
    ],
    "collectionURL": "https://cpan.org/modules",
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "Punk::OAuth2::same_origin_path"
      }
    ]
  }
]
Related CVEs
CVE-2026-75628

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#41877 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement