CVE-2025-12028 json
IndieAuth <= 4.5.4 - Cross-Site Request Forgery to Account Takeover via Stolen OAuth Tokens
published 2025-10-24 12 mo ago modified 2026-10-08 32 d ago also EUVD-2025-35817
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 11%
- public exploits
- 0
- none known
Summary
The IndieAuth plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 4.5.4. This is due to missing nonce verification on the `login_form_indieauth()` function and the authorization endpoint at wp-login.php?action=indieauth. This makes it possible for unauthenticated attackers to force authenticated users to approve OAuth authorization requests for attacker-controlled applications via a forged request granted they can trick a user into performing an action such as clicking on a link or visiting a malicious page while logged in. The attacker can then exchange the stolen authorization code for an access token, effectively taking over the victim's account with the granted scopes (create, update, delete).
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 12 mo ago
Exploit prediction
0.21% chance of exploitation in the next 30 days, higher than 11% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected products
- indieweb IndieAuth
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/42b373da-d5a6-4e3b-90f4-059da3641841?source=cve
- plugins.trac.wordpress.org /browser/indieauth/tags/4.5.4/includes/class-indieauth-authorization-endpoint.php#L411
- plugins.trac.wordpress.org /browser/indieauth/tags/4.5.4/includes/class-indieauth-authorization-endpoint.php#L418
- plugins.trac.wordpress.org /browser/indieauth/tags/4.5.4/includes/class-indieauth-authorization-endpoint.php#L476
- plugins.trac.wordpress.org /changeset/3384558/
Sources
- CVE List CVE-2025-12028
- NVD CVE-2025-12028
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.