PYSEC-2026-2418

See a problem?
Import Source
https://github.com/pypa/advisory-database/blob/main/vulns/ckan/PYSEC-2026-2418.yaml
JSON Data
https://api.osv.dev/v1/vulns/PYSEC-2026-2418
Aliases
Published
2026-07-13T15:02:55.031854Z
Modified
2026-07-13T16:31:42.479091391Z
Severity
  • 6.1 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N CVSS Calculator
Summary
CKAN has CSRF exemption primed by anonymous requests
Details

Views can be marked as exempt from CSRF protection

Access to the views via tokens or unauthenticated requests marked the endpoint as not requiring CSRF protection.

The marking was a member variable in flask-wtf.csrf.CSRFProtect(), which was stored as a module level variable in the flask_app middleware. Thsi API was never intended for request level changes, it is primarily a decorator for static configuration.

An unauthenticated request could hit a protected endpoint, exempting it from CSRF protection for the life of the particular server process. (e.g. one worker of uwsgi).

This could be leveraged with XSS to perform actions using other user's credentials.

References

References

Affected packages

PyPI / ckan

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.10.0
Fixed
2.10.10
Introduced
2.11.0
Fixed
2.11.5

Affected versions

2.*
2.10.0
2.10.1
2.10.3
2.10.4
2.10.5
2.10.6
2.10.7
2.10.8
2.10.9
2.11.0
2.11.1
2.11.2
2.11.3
2.11.4

Database specific

source
"https://github.com/pypa/advisory-database/blob/main/vulns/ckan/PYSEC-2026-2418.yaml"