{"identifier":"CVE-2026-7381","cve":{"id":"CVE-2026-7381","description":"Plack::Middleware::XSendfile versions through 1.0053 for Perl can allow client-controlled path rewriting.\n\nPlack::Middleware::XSendfile allows the variation setting (sendfile type) to be set by the client via the X-Sendfile-Type header, if it is not considered in the middleware constructor or the Plack environment.\n\nA malicious client can set the X-Sendfile-Type header to \"X-Accel-Redirect\" to services running behind nginx reverse proxies, and then set the X-Accel-Mapping to map the path to an arbitrary file on the server.\n\nSince 1.0053, Plack::Middleware::XSendfile is deprecated and will be removed from future releases of Plack.\n\nThis is similar to CVE-2025-61780 for Rack::Sendfile, although Plack::Middleware::XSendfile has some mitigations that disallow regular expressions to be used in the mapping, and only apply the mapping for the \"X-Accel-Redirect\" type.","published":"2026-04-29T23:16:19.897000+00:00","modified":"2026-10-26T20:10:00.160000+00:00","status":"Analyzed","score":9.1,"severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","cvss_version":"3.1","affected":[{"criteria":"cpe:2.3:a:miyagawa:plack\\:\\:middleware\\:\\:xsendfile:*:*:*:*:*:perl:*:*","versionStartIncluding":"","versionStartExcluding":"","versionEndIncluding":"1.0053","versionEndExcluding":""}],"weaknesses":["CWE-200","CWE-441","CWE-913"],"references":[{"url":"https://metacpan.org/release/MIYAGAWA/Plack-1.0053/changes","source":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":["Release Notes"]},{"url":"https://metacpan.org/release/MIYAGAWA/Plack-1.0053/view/lib/Plack/Middleware/XSendfile.pm#DEPRECATION-NOTICE","source":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":["Product"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-61780","source":"9b29abf9-4ab0-4765-b253-1875cd9b441e","tags":["US Government Resource"]}],"kev":null,"kev_checked":true,"metrics":{"cvssMetricV31":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":5.2}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-04-30T13:18:16.234435Z","id":"CVE-2026-7381","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:miyagawa:plack\\:\\:middleware\\:\\:xsendfile:*:*:*:*:*:perl:*:*","versionEndIncluding":"1.0053","matchCriteriaId":"29005B5E-82D5-4EB7-8387-D831C6963F11"}]}]}],"source":"nvd","retrieved_at":"2026-10-28T10:19:48.738457+00:00","exploited":false,"kev_stale":false,"products":["miyagawa / plack\\"],"priority":{"label":"Critical technical severity","reasons":["CVSS is at least 9.0; exploitation is not established by severity alone."]},"epss":{"probability":0.00442,"percentile":0.3827,"date":"2026-10-27","stale":false},"version_assessment":null},"news":[],"campaigns":[],"domains":[{"domain":"metacpan.org","source_url":"https://metacpan.org/release/MIYAGAWA/Plack-1.0053/changes","investigate_url":"https://investigate.aeglixmind.com/#metacpan.org"},{"domain":"nvd.nist.gov","source_url":"https://nvd.nist.gov/vuln/detail/CVE-2025-61780","investigate_url":"https://investigate.aeglixmind.com/#nvd.nist.gov"}],"arsenal_url":"https://arsenal.aeglixmind.com/?cve=CVE-2026-7381","catalog_url":"https://cves.aeglixmind.com/cve/CVE-2026-7381","research_url":"https://investigate.aeglixmind.com/research/cve/CVE-2026-7381","coverage":{"news_candidates_checked":0,"campaign_candidates_checked":0,"bounded":false,"notice":"Exact CVE mentions in stored public excerpts and reviewed campaign content only. A mention is not proof of exploitation, attribution or tool suitability. Missing matches do not establish absence."}}