{"id":"CVE-2026-128025","aliases":[],"cve":{"records":[{"id":"CVE-2026-128025","source":"VulnCheck","state":"PUBLISHED","reasons":[],"replacements":[],"disputed":false,"unsupportedWhenAssigned":false,"reserved":"2026-11-12T20:33:43.125Z","published":"2026-11-13T09:34:04.485Z","modified":"2026-11-13T18:20:18.630Z"}],"publishers":[{"name":"VulnCheck","role":"CNA","organizationId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","modified":"2026-11-13T09:34:04.485Z"},{"name":"CISA-ADP","role":"ADP","organizationId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","modified":"2026-11-13T18:20:18.630Z"}],"references":[{"url":"https://github.com/php/frankenphp/security/advisories/GHSA-xxjp-cjxr-2x6m","tags":["vendor-advisory"],"source":"VulnCheck"},{"url":"https://www.vulncheck.com/advisories/frankenphp-before-1.13.0-cgi-path-split-boundary-bypass-via-splitpos","tags":["third-party-advisory"],"source":"VulnCheck"},{"url":"https://github.com/php/frankenphp/security/advisories/GHSA-xxjp-cjxr-2x6m","tags":["exploit"],"source":"CISA-ADP"}],"weaknesses":[{"id":"CWE-436","description":"Interpretation Conflict","source":"VulnCheck"}],"applicability":[{"source":"VulnCheck","statements":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:php:frankenphp:*:*:*:*:*:*:*:*","versionEndExcluding":"1.13.0"}]}]}]}],"prioritization":[{"source":"CISA-ADP","type":"SSVC","role":"CISA Coordinator","timestamp":"2026-11-13T18:19:15.595269Z","decisions":[{"name":"Exploitation","value":"poc"},{"name":"Automatable","value":"yes"},{"name":"Technical Impact","value":"partial"}]}]},"title":"FrankenPHP before 1.13.0 CGI Path-Split Boundary Bypass via splitPos","titleSource":"VulnCheck","descriptionSource":"VulnCheck","description":"FrankenPHP before 1.13.0 contains a path-split interpretation conflict in splitPos in cgi.go that allows unauthenticated attackers to execute protected PHP scripts by embedding .php inside a filename component. Attackers can request paths like /uploads/a.php.txt/b.php to execute uploads/a.php despite route-level or WAF deny rules and forge PATH_INFO, SCRIPT_NAME, and PHP_SELF values.","score":6.9,"severity":"medium","published":"2026-11-13T09:34:04.485Z","modified":"2026-11-13T18:20:18.630Z","withdrawn":false,"knownExploited":false,"affected":[],"products":[{"vendor":"php","name":"frankenphp","platforms":[],"versions":[{"version":"0","status":"affected","lessThan":"1.13.0","versionType":"semver"},{"version":"1.13.0","status":"unaffected","versionType":"semver"}],"defaultStatus":"unaffected","packageURL":"pkg:golang/github.com/dunglas/frankenphp","packageIdentity":{"ecosystem":"Go","name":"github.com/dunglas/frankenphp"},"cpes":[],"source":"VulnCheck","url":"https://www.cve.org/CVERecord?id=CVE-2026-128025"}],"remediation":[],"references":["https://github.com/php/frankenphp/security/advisories/GHSA-xxjp-cjxr-2x6m","https://www.vulncheck.com/advisories/frankenphp-before-1.13.0-cgi-path-split-boundary-bypass-via-splitpos"],"sources":[{"name":"CVE","id":"CVE-2026-128025","modified":"2026-11-13T18:20:18.630Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-128025"}],"assessments":[{"source":"VulnCheck","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","score":6.9},{"source":"VulnCheck","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","score":6.5}],"sourceAffected":[],"observedAt":"2026-11-13T19:50:51.772Z","kev":{"status":"not-listed","checkedAt":"2026-11-15T02:25:31.038Z"},"coverage":[{"source":"NVD","status":"refresh-failed","attemptedAt":"2026-11-14T01:30:33.008Z"},{"source":"GHSA","status":"available","checkedAt":"2026-11-14T01:20:30.980Z","attemptedAt":"2026-11-14T01:20:30.980Z"},{"source":"EUVD","status":"available","checkedAt":"2026-11-14T01:15:31.395Z","attemptedAt":"2026-11-14T01:15:31.395Z"},{"source":"EPSS","status":"available","checkedAt":"2026-11-14T01:15:31.074Z","attemptedAt":"2026-11-14T01:15:31.074Z"}],"evidence":[{"source":"FIRST EPSS","id":"CVE-2026-128025","url":"https://www.first.org/epss/","probability":0.00305,"percentile":0.236,"date":"2026-11-13","checkedAt":"2026-11-14T01:15:31.074Z"},{"source":"ENISA EUVD","id":"EUVD-2026-125077","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-125077","modified":"Nov 13, 2026, 6:20:18 PM","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","checkedAt":"2026-11-14T01:15:31.395Z"},{"source":"GitHub Advisory Database","id":"GHSA-xwc7-ppx8-9c7r","url":"https://github.com/advisories/GHSA-xwc7-ppx8-9c7r","modified":"2026-11-13T12:31:44Z","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","checkedAt":"2026-11-14T01:20:30.980Z"}],"aiSummary":{"text":"FrankenPHP before 1.13.0 has a path-split interpretation conflict, allowing unauthenticated attackers to execute protected PHP scripts. Attackers can bypass route-level or WAF deny rules by requesting specific paths. This weakness may forge PATH_INFO, SCRIPT_NAME, and PHP_SELF values.","model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","generatedAt":"2026-11-13T13:56:19.188Z","sources":[{"name":"CVE","url":"https://www.cve.org/CVERecord?id=CVE-2026-128025"}]}}