{"id":"CVE-2026-8054","published":"2026-05-27T07:55:25Z","modified":"2026-05-27T13:40:13Z","title":"Unauthenticated SQL Injection in dotCMS Publish Audit API","vendor":"dotCMS","product":"dotCMS Core","tier":"core","eol":null,"affectedVersions":[{"vendor":"dotCMS","product":"dotCMS Core","versions":[">= 25.11.04-1, <= 26.04.28-02"]}],"description":{"text":"Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') in the Publish Audit API endpoints (/api/auditPublishing/get and /api/auditPublishing/getAll) in dotCMS Core 25.11.04-1 through 26.04.28-02 allows remote unauthenticated attackers to read, modify, or destroy arbitrary database content. The endpoints did not enforce authentication and accepted unsanitized input used in dynamically constructed SQL. The fix in dotCMS Core 26.04.28-03 requires an authenticated backend user with the publishing-queue portlet permission. LTS releases are not affected as the vulnerable code path was never backported.","provenance":"source","from":"CVE.org"},"summary":{"text":"A SQL injection flaw in the Publish Audit API endpoints (/api/auditPublishing/get and /api/auditPublishing/getAll) of dotCMS Core, where unsanitized input is used in dynamically constructed SQL. An unauthenticated remote attacker over the network, with no user interaction and no special configuration required, can read, modify, or destroy arbitrary database content, since the endpoints do not enforce authentication.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-31T04:54:05Z"},"cvss":{"score":10,"severity":"CRITICAL","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.01584,"percentile":0.75537,"date":"2026-10-30","provenance":"source"},"kev":null,"vulncheckKev":{"dateAdded":"2026-06-27","exploitedFirstSeen":"2026-06-27","ransomware":false,"evidence":[{"url":"https://previdian.com/CVE-2026-8054","date":"2026-06-27"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-03&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-03"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-05&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-05"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-07&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-07"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-13&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-13"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-14&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-14"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-15&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-15"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-17&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-17"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-22&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-22"},{"url":"https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2026-08-31&host_type=src&vulnerability=cve-2026-8054","date":"2026-08-31"}],"evidenceTotal":32,"provenance":"source"},"exploited":true,"otx":{"pulseCount":10,"pulses":[{"name":"Known_Cve | Jun 5, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a2188cdee94b8b1334c441e","created":"2026-06-04"},{"name":"Known_Cve | Jun 5, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a21889ae114a85c10b9adbf","created":"2026-06-04"},{"name":"Known_Cve | Jun 4, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a2036fb506fe8123d65b94b","created":"2026-06-03"},{"name":"Known_Cve | Jun 3, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a1ee53f4af43df5b5f4403e","created":"2026-06-02"},{"name":"Known_Cve | Jun 2, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a1d945db4f5a5371b3864a3","created":"2026-06-01"},{"name":"Known_Cve | Jun 1, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a1c426cbf0e554982e6da7a","created":"2026-05-31"},{"name":"Known_Cve | May 31, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a1af0efff4b7dd243573ef5","created":"2026-05-30"},{"name":"Known_Cve | May 30, 2026 | Part 1/2","url":"https://otx.alienvault.com/pulse/6a199f66a765b0a5dce00131","created":"2026-05-29"},{"name":"Known_Cve | May 29, 2026","url":"https://otx.alienvault.com/pulse/6a184eb0b82a588940895fc7","created":"2026-05-28"},{"name":"Known_Cve | May 28, 2026","url":"https://otx.alienvault.com/pulse/6a16fc6bdf8b1c1279eacd4b","created":"2026-05-27"}],"provenance":"machine"},"cwes":[{"id":"CWE-89","name":"Improper Neutralization of Special Elements used in an SQL Command"}],"references":[{"url":"https://dev.dotcms.com/docs/known-security-issues?issueNumber=SI-75","tags":["vendor-advisory"]},{"url":"https://github.com/dotCMS/core/pull/35553","tags":["patch"]}],"techniques":[],"reports":[],"affected":[],"advisories":[],"euvd":{"id":"EUVD-2026-32131","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-32131","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":1,"skipped":0,"earliest":"2026-06-09","earliestUrl":"https://github.com/Mr-xn/CVE-2026-8054","repos":[{"name":"Mr-xn/CVE-2026-8054","url":"https://github.com/Mr-xn/CVE-2026-8054","stars":0,"created":"2026-06-09"}]},"nuclei":[{"id":"CVE-2026-8054","name":"dotCMS Core Publish Audit API - Unauthenticated SQL Injection","severity":"critical","path":"http/cves/2026/CVE-2026-8054.yaml","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2026/CVE-2026-8054.yaml"}],"first":{"date":"2026-06-09","source":"PoC-in-GitHub","url":"https://github.com/Mr-xn/CVE-2026-8054"},"provenance":"source"},"exploitRefs":[],"flow":[],"timeline":[{"date":"2026-05-27","kind":"published","label":"Published (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2026-8054","provenance":"source"},{"date":"2026-06-09","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/Mr-xn/CVE-2026-8054","provenance":"source"},{"date":"2026-06-27","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://previdian.com/CVE-2026-8054","provenance":"source"}],"speed":{"daysToPublicExploit":13,"firstExploitFrom":"PoC-in-GitHub","daysToKev":null},"priority":{"score":69.5,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in VulnCheck KEV"},{"name":"Recent KEV listing","points":5.0,"detail":"added 126 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":15.11,"detail":"percentile 0.7554"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"1 PoC-in-GitHub repo; 1 nuclei template"},{"name":"Mentioned in OTX pulses","points":2.36,"detail":"10 pulses"},{"name":"CVSS severity","points":7.0,"detail":"base score 10"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]}}