CVE-2026-45139

MEDIUMPre-NVD 6.56.5—
EchelonGraph scoreMEDIUM confidence

This medium-severity CVE scores 6.5 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.3%, top 81% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, secondary
Elevated
6.5EG
EchelonGraph verdictPlan a fixWithin your standard update timelines — no confirmed exploitation yet.
  • CISA's Vulnrichment rates exploitation as PoC; EchelonGraph holds no exploit-code reference for it
CISA-KEV: Not listedEPSS PROB: 0.5%CVSS: 6.5Exploit: No code on recordExposed services: Not assessed

A fix is available — apply it.

CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the Fileeditor module enforces an extension allowlist (['css','js','html','txt','json','sql','md']) on content-write operations (saveFile, createFile), but two destructive endpoints — deleteFileOrFolder and renameFile — never validate the extension of the *source* path. A backend user with file-editor permissions can therefore unlink or rename any file inside the project root that is not explicitly listed in the small $hiddenItems blocklist. Critical framework files such as app/Config/Routes.php, app/Config/App.php, app/Config/Database.php, app/Config/Filters.php, public/index.php, and public/.htaccess all live outside that blocklist and can be destroyed, producing a persistent denial of service that requires filesystem-level redeployment to recover. Version 0.31.9.0 patches the issue.

CVSS v3
6.5
EG Score
6.5MEDIUMmedium confidence
EG Risk
45
EG Risk 45/100

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed (value × EchelonGraph’s weight)
Severity65% × 45%
The EG Score, 6.5 of 10.
Exploitation40% × 40%
EchelonGraph's fixed weight for EG-KEV Tier 3 (Elevated): a constant, not a probability.
Automatability0% × 15%
EPSS PROB
0.5%
EPSS %ILE
39th
KEV
Not listed

Published

May 18, 2026

Last Modified

July 21, 2026

Advisory Details (2)

Auto-updated Jul 20, 2026
🔬 Proof of concept available. Patch available. Sources: github_release, github.
githubMentions a patch (unverified)🟡 PoC Available

CI4MS Fileeditor allows deletion and rename of critical application files due to missing extension allowlist on destructive operations · Advisory · ci4-cms-erp/ci4ms · GitHub

https://github.com/ci4-cms-erp/ci4ms/security/advisories/GHSA-245j-xjvr-xvm5
github_release Patch Available

v0.31.9.0 — Security Hardening & Patch Release

Patch available: ci4-cms-erp/ci4ms 0.31.9.0

https://github.com/ci4-cms-erp/ci4ms/releases/tag/0.31.9.0

Vendor Advisories for CVE-2026-45139(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(1 across 1 ecosystem)
Packagist(1)
PackageVulnerable rangeFix by version rangeDependents
ci4-cms-erp/ci4ms0.21.0 ... 0.31.9 (57 versions)
  • every version up to 0.31.9.0: fixed in 0.31.9.0
—

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 7× in last 7d / 22× in last 30d)

Each row is a time one of our pipelines fetched, updated or re-scored this CVE. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. An arrow marks a change the record states ("CVSS v3 → 9.1"); EPSS and GHSA rows show the values recorded at that time, not what changed (EPSS values are rounded; hover one for the exact figures). Most recent first.

A repeat, a row identical to one the same pipeline wrote less than 10 seconds earlier, is not a separate refresh and is not counted. 1 repeat row among the latest 91 is merged into the row it repeats.

  1. 2026-10-10 20:00 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  2. 2026-10-09 20:07 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  3. 2026-10-08 17:12 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  4. 2026-10-07 23:48 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  5. 2026-10-06 15:18 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  6. 2026-10-05 17:43 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  7. 2026-10-04 23:22 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  8. 2026-10-03 14:25 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  9. 2026-10-01 19:50 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  10. 2026-09-30 15:03 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  11. 2026-09-30 03:40 UTCOSV refresh
  12. 2026-09-27 13:48 UTCEPSS rescoreEPSS 0.5% · 38th percentile
  13. 2026-09-26 15:58 UTCEPSS rescoreEPSS 0.5% · 38th percentile
  14. 2026-09-23 17:53 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  15. 2026-09-20 20:15 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  16. 2026-09-18 19:28 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  17. 2026-09-17 19:31 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  18. 2026-09-16 14:08 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  19. 2026-09-16 05:15 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  20. 2026-09-13 16:47 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  21. 2026-09-12 15:01 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  22. 2026-09-11 14:53 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  23. 2026-09-11 09:37 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  24. 2026-09-11 06:23 UTCOSV refresh
  25. 2026-09-10 09:34 UTCEPSS rescoreEPSS 0.5% · 39th percentile
Show 65 more
  1. 2026-09-08 22:00 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  2. 2026-09-07 16:01 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  3. 2026-09-06 13:47 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  4. 2026-09-04 05:06 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  5. 2026-09-02 14:12 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  6. 2026-09-01 13:54 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  7. 2026-08-30 19:17 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  8. 2026-08-30 01:22 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  9. 2026-08-28 21:41 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  10. 2026-08-27 14:25 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  11. 2026-08-26 14:46 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  12. 2026-08-25 13:49 UTCEPSS rescoreEPSS 0.5% · 39th percentile
  13. 2026-08-23 17:14 UTCEG score recompute
  14. 2026-08-23 00:19 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  15. 2026-08-21 23:54 UTCEG score recompute
  16. 2026-08-21 23:49 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  17. 2026-08-20 22:55 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  18. 2026-08-20 19:10 UTCEG score recompute
  19. 2026-08-19 17:04 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  20. 2026-08-18 13:48 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  21. 2026-08-17 13:47 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  22. 2026-08-17 10:07 UTCEG score recompute
  23. 2026-08-16 14:56 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  24. 2026-08-16 03:40 UTCEG score recompute
  25. 2026-08-16 02:14 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  26. 2026-08-15 01:30 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  27. 2026-08-14 02:12 UTCEG score recompute
  28. 2026-08-13 22:00 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  29. 2026-08-12 23:06 UTCEG score recompute
  30. 2026-08-12 13:51 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  31. 2026-08-11 23:54 UTCEG score recompute
  32. 2026-08-11 00:42 UTCEG score recompute
  33. 2026-08-11 00:00 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  34. 2026-08-10 00:52 UTCEG score recompute
  35. 2026-08-09 13:46 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  36. 2026-08-09 01:40 UTCEG score recompute
  37. 2026-08-08 16:37 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  38. 2026-08-07 19:52 UTCEG score recompute
  39. 2026-08-06 20:40 UTCEG score recompute
  40. 2026-08-06 13:46 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  41. 2026-08-05 21:26 UTCEG score recompute
  42. 2026-08-05 19:17 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  43. 2026-08-04 15:10 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  44. 2026-08-04 10:38 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  45. 2026-08-03 17:05 UTCEG score recompute
  46. 2026-08-03 10:36 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  47. 2026-08-02 17:42 UTCEG score recompute
  48. 2026-08-02 02:27 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  49. 2026-08-01 18:30 UTCEG score recompute
  50. 2026-08-01 04:16 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  51. 2026-07-30 16:28 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  52. 2026-07-30 01:30 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  53. 2026-07-28 15:36 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  54. 2026-07-27 14:13 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  55. 2026-07-26 14:54 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  56. 2026-07-25 14:18 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  57. 2026-07-24 14:17 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  58. 2026-07-23 14:18 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  59. 2026-07-23 03:16 UTCEG score recompute
  60. 2026-07-22 14:08 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  61. 2026-07-21 15:24 UTCEPSS rescoreEPSS 0.3% · 18th percentile
  62. 2026-06-14 23:18 UTCEPSS rescoreEPSS <0.1% · 11th percentile
  63. 2026-06-13 23:00 UTCEPSS rescoreEPSS <0.1% · 11th percentile
  64. 2026-06-12 23:12 UTCEPSS rescoreEPSS <0.1% · 11th percentile
  65. 2026-05-24 06:17 UTCEG score recompute

Frequently asked(5)

What is CVE-2026-45139?
CVE-2026-45139 is a medium vulnerability published on May 18, 2026. CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the Fileeditor module enforces an extension allowlist (['css','js','html','txt','json','sql','md']) on content-write operations (saveFile, createFile), but two destructive endpoints — deleteFileOrFolder…
When was the CVE record for CVE-2026-45139 published?
The CVE record for CVE-2026-45139 was published on May 18, 2026. That is the record's publication date; the vulnerability itself may have been made public earlier. EchelonGraph's copy of the record carries a last-modified date of July 21, 2026; the record at its source may have been updated since.
Is CVE-2026-45139 actively exploited?
CVE-2026-45139 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.5% probability of exploitation in the next 30 days (39th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-45139?
CVE-2026-45139 has a CVSS base score of 6.5 (a secondary CVSS source that NVD displays; NVD's own analysis pending).
How do I remediate CVE-2026-45139?
A fix for CVE-2026-45139 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2026-45139 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-45139

Explore →

Is Your Infrastructure Affected by CVE-2026-45139?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.