# CVE-2026-13602: Session takeover vulnerability

> Attackers can hijack sessions and impersonate any user, including admins, by exploiting cryptographic signature flaws in payment plugins and core redirect features.

- **Severity:** High 7.7 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:U`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** No
- **Published:** 1 Jul 2026
- **Updated:** 1 Jul 2026
- **Also known as:** GHSA-q93m-6jvc-jc45

## What is CVE-2026-13602?

CVE-2026-13602 is a high-severity authentication bypass vulnerability in pretix, published on 1 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

We found a chain of combining multiple weaknesses in the product that could allow an attacker to become any user in the backend and access any data:

  *  

The payment integration plugins Stripe (included in the core system), pretix-mollie, pretix-oppwa, pretix-bitpay, pretix-payone, pretix-secuconnect, pretix-sofort, and pretix-saferpay
 contain a code path that is intended for the transport of session 
parameters from a tab with isolated cookies (e.g. in the pretix widget) 
to a new tab. For this purpose, a set of session parameters is 
cryptographically signed and then passed to the new tab as a URL 
parameter. The plugins perform no further validation of the session 
parameters, other than the cryptographic signature being valid. This is 
fixed with the releases issued today by strictly validating that no 
session parameters outside of the scope of the respective plugin may be 
set.

  *  

An unrelated feature in the core system is used to generate redirect links that obfuscate any Referer
 headers for outgoing links to prevent leakage of secrets in URLs. This 
redirect page also requires cryptographically signed parameters. 
Unfortunately, it uses the same key and salt for the signature as the 
previously mentioned feature in the payment integration plugins. A 
motivated attacker with access to at least one event in the backend can 
trick the system into cryptographically signing arbitrary content using 
specially crafted links. In combination with the previous issue, the 
attacker could use this to set and modify arbitrary parameters on their 
user session by injecting the signed parameters into the feature of the 
payment providers. This is fixed with the releases issued today by using
 different salts for the signature for each plugin and feature.

  *  

A third, unrelated feature in the core system is used for admin users
 to act on behalf of another user, mostly for debugging purposes. With 
being able to insert arbitrary parameters into a session, an attacker 
can abuse this feature to change their session from their actual user to
 any user in the system by guessing a valid user ID. This is fixed with
 the release today by requiring unguessable information to be contained 
in the session of the user to switch to.

Weakness: CWE-323 (Reusing a Nonce, Key Pair in Encryption), CWE-20 (Improper Input Validation)

## Which versions are affected by CVE-2026-13602?


## How do I fix CVE-2026-13602?

No fix has been published for CVE-2026-13602 yet. Limit exposure of the affected software until one is available.

## Is CVE-2026-13602 being exploited?

There is no known exploitation of CVE-2026-13602 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-13602 and fix it if it is affected.

What it is: CVE-2026-13602 is a high-severity authentication bypass vulnerability in pretix, published on 1 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-13602 in the wild and no public exploit code.

Affected product: pretix. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-13602/ (Markdown: https://insights.sbomify.com/CVE-2026-13602/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-13602
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-13602
- OSV: https://osv.dev/vulnerability/CVE-2026-13602

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-13602/
Summaries are generated and may contain mistakes; the official description above is the record.
