CVE-2026-40471
Hackage CSRF vulnerability
hackage-server lacked Cross-Site Request Forgery (CSRF) protection across its endpoints. Scripts on foreign sites could trigger requests to hackage server, possibly abusing latent credentials to upload packages or perform other administrative actions. Some unauthenticated actions could also be abused (e.g. creating new user accounts).
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
9.6
Hackage CSRF vulnerability
hackage-server lacked Cross-Site Request Forgery (CSRF) protection across its endpoints. Scripts on foreign sites could trigger requests to hackage server, possibly abusing latent credentials to upload packages or perform other administrative actions. Some unauthenticated actions could also be abused (e.g. creating new user accounts).
- Record
CVE-2026-40471- CVSS 3.1
- 9.6 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L - Weakness
- CWE-352
- Updated
- 2026-11-02
EUVDEUVD-2026-25234
9.6
hackage-server lacked Cross-Site Request Forgery (CSRF) protection across its endpoints. Scripts on foreign sites could trigger requests to hackage server, possibly abusing latent credentials to upload packages or perform other administrative actions. Some unauthenticated actions could also be abused (e.g. creating new user accounts).
- Record
EUVD-2026-25234- CVSS 3.1
- 9.6 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-mf84-vmqg-86fm
9.6
hackage-server lacked Cross-Site Request Forgery (CSRF) protection across its endpoints. Scripts...
hackage-server lacked Cross-Site Request Forgery (CSRF) protection across its endpoints. Scripts on foreign sites could trigger requests to hackage server, possibly abusing latent credentials to upload packages or perform other administrative actions. Some unauthenticated actions could also be abused (e.g. creating new user accounts).
- Record
GHSA-mf84-vmqg-86fm- CVSS 3.1
- 9.6 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L - Weakness
- CWE-352
- Updated
- 2026-11-02
NVD
9.6
hackage-server lacked Cross-Site Request Forgery (CSRF) protection across its endpoints. Scripts on foreign sites could trigger requests to hackage server, possibly abusing latent credentials to upload packages or perform other administrative actions. Some unauthenticated actions could also be abused (e.g. creating new user accounts).
- Record
CVE-2026-40471- CVSS 3.1
- 9.6 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L - Weakness
- CWE-352
- Updated
- 2026-11-02
OSVHSEC-2026-0002 No score
Hackage CSRF vulnerability
Hackage CSRF vulnerability
- Vulnerable File:
src/Distribution/Server/Features/Votes.hs(example) - Impact: can forge requests through XSS
hackage-server lacked Cross-Site Request Forgery (CSRF) protection across its endpoints. Scripts on foreign sites could trigger requests to hackage server, possibly abusing latent credentials to upload packages or perform other administrative actions. Some unauthenticated actions could also be abused (e.g. creating new user accounts).
To fix the issue, a new CSRF middleware checks all requests.
Requests using HTTP methods other than GET, HEAD and OPTIONS
are subject to a check of the Sec-Fetch-Site
header, which is widely supported by modern
browsers. Cross-site requests are 403 Forbidden. Certain approved and expected non-browser user agents
(e.g. cabal-install/*) are exempted from the check, as are
requests using token authentication (Authorization: X-ApiKey ...).
The fix has been committed and deployed on
hackage.haskell.org.
Acknowledgements
- Joshua Rogers (https://joshua.hu/) of AISLE (https://aisle.com/) reported the issue to the Haskell Security Response Team.
- Spenser Janssen implemented the fix, and Fraser Tweedale reviewed it.
- Gershom Bazerman merged the fix and deployed it to
hackage.haskell.org.
- Record
HSEC-2026-0002- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
hackage-serverHackage |
0.1 and later, plus listed versions 0.40.5.0 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-40471 is a critical vulnerability (CVSS 9.6) in hackage-server, published March 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.14%, the 3rd percentile. No source names a fixed version.