CVE-2025-12524 json
Post Type Switcher <= 4.0.0 - Insecure Direct Object Reference to Authenticated (Author+) Post Type Change
published 2025-11-18 11 mo ago modified 2026-10-18 21 d ago also EUVD-2025-197957
- cvss
- 5.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 23%
- public exploits
- 0
- none known
Summary
The Post Type Switcher plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 4.0.0 due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with Author-level access and above, to modify the post type of arbitrary posts and pages they do not own, including those created by administrators, which can lead to site disruption, broken navigation, and SEO impact.
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 11 mo ago
Exploit prediction
0.31% chance of exploitation in the next 30 days, higher than 23% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L |
Affected products
- johnjamesjacoby Post Type Switcher
Classification
- Weakness
-
- CWE-639 Authorization Bypass Through User-Controlled Key
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/d875514c-c7d3-4236-842b-6e772048448d?source=cve
- plugins.trac.wordpress.org /browser/post-type-switcher/tags/4.0.0/post-type-switcher.php#L469
- plugins.trac.wordpress.org /browser/post-type-switcher/tags/4.0.0/post-type-switcher.php#L486
- cwe.mitre.org /data/definitions/639.html
- owasp.org /API-Security/editions/2023/en/0xa1-broken-object-level-authorization/
- plugins.trac.wordpress.org /changeset?sfp_email=&sfph_mail=&reponame=&new=3391983%40post-type-switcher%2Ftrunk&old=3331072%40post-type-sw
Sources
- CVE List CVE-2025-12524
- NVD CVE-2025-12524
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.