{"id":79038,"date":"2026-05-29T23:46:28","date_gmt":"2026-05-29T20:16:28","guid":{"rendered":"https:\/\/afaghhosting.net\/blog\/cve-2026-48557-spatie-laravel-media-library-11-23-0-file-upload-restriction-bypass-via-fileadder-php\/"},"modified":"2026-05-29T23:46:28","modified_gmt":"2026-05-29T20:16:28","slug":"cve-2026-48557-spatie-laravel-media-library-11-23-0-file-upload-restriction-bypass-via-fileadder-php","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/cve-2026-48557-spatie-laravel-media-library-11-23-0-file-upload-restriction-bypass-via-fileadder-php\/","title":{"rendered":"CVE-2026-48557 &#8211; Spatie Laravel Media Library &lt; 11.23.0 File Upload Restriction Bypass via FileAdder.php"},"content":{"rendered":"<p>CVE ID :CVE-2026-48557<\/p>\n<p>  Published : May 29, 2026, 8:16 p.m. | 15\u00a0minutes ago<\/p>\n<p>  Description :Spatie Laravel Media Library before version 11.23.0 contains a file upload restriction bypass in FileAdder::defaultSanitizer(). The sanitizer checks only the final filename suffix, allowing double-extension filenames such as shell.php.jpg to bypass the blocklist, with pathinfo() preserving inner .php stems in saved filenames. The blocklist also omits executable extensions including .php6, .shtml, and .htaccess. The double-extension bypass requires a legacy Apache AddHandler configuration to achieve PHP execution; the incomplete blocklist bypass does not.<\/p>\n<p>  Severity: 8.8 | HIGH<\/p>\n<p>  Visit the link for more details, such as CVSS details, affected products, timeline, and more&#8230;\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CVE ID :CVE-2026-48557 Published : May 29, 2026, 8:16 p.m. | 15\u00a0minutes ago Description :Spatie Laravel Media Library before version 11.23.0 contains a file upload restriction bypass in FileAdder::defaultSanitizer(). The sanitizer checks only the final filename suffix, allowing double-extension filenames such as shell.php.jpg to bypass the blocklist, with pathinfo() preserving inner .php stems in saved &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-79038","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/79038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=79038"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/79038\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=79038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=79038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=79038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}