CVE-2026-15407 json
Themify Builder <= 7.7.7 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Post Stylesheet Write/Delete via tb_generate_on_fly AJAX Action
published 2026-07-16 3 mo ago modified 2026-07-18 3 mo ago also EUVD-2026-44891
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 41%
- public exploits
- 0
- none known
Summary
The Themify Builder plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 7.7.7. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to overwrite or delete the generated CSS stylesheet file of arbitrary posts, including private and draft posts owned by other users, and modify plugin-scoped font options. The required CSRF nonce (tf_nonce) is emitted on public front-end builder pages via wp_localize_script, making it trivially obtainable by any authenticated user visiting such a page.
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.47% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
Affected products
- themifyme Themify Builder
Classification
- Weakness
-
- CWE-862 Missing Authorization
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/b59e2773-31f0-4c19-b066-30982761bc44?source=cve
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.5/classes/class-themify-builder-stylesheet.php#L160
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.7/classes/class-themify-builder-stylesheet.php#L160
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.7/classes/class-themify-builder-stylesheet.php#L17
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.7/classes/class-themify-builder-stylesheet.php#L313
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.7/classes/class-themify-builder-stylesheet.php#L69
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.5/classes/class-themify-builder-stylesheet.php#L17
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.5/classes/class-themify-builder-stylesheet.php#L313
- plugins.trac.wordpress.org /browser/themify-builder/tags/7.7.5/classes/class-themify-builder-stylesheet.php#L69
- plugins.trac.wordpress.org /changeset?reponame=&old=3607906%40themify-builder&new=3607906%40themify-builder
Sources
- CVE List CVE-2026-15407
- NVD CVE-2026-15407
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.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.