{"id":82647,"date":"2026-07-28T23:47:26","date_gmt":"2026-07-28T20:17:26","guid":{"rendered":"https:\/\/afaghhosting.net\/blog\/cve-2026-55554-dompdf-chroot-validation-bypass\/"},"modified":"2026-07-28T23:47:26","modified_gmt":"2026-07-28T20:17:26","slug":"cve-2026-55554-dompdf-chroot-validation-bypass","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/cve-2026-55554-dompdf-chroot-validation-bypass\/","title":{"rendered":"CVE-2026-55554 &#8211; Dompdf: Chroot Validation Bypass"},"content":{"rendered":"<p>CVE ID :CVE-2026-55554<\/p>\n<p>  Published : July 28, 2026, 8:17 p.m. | 23\u00a0minutes ago<\/p>\n<p>  Description :Dompdf is an HTML to PDF converter for PHP. In versions 3.15 and prior, the\u00a0validateLocalUri()\u00a0method enforces chroot boundaries with a\u00a0strpos() prefix check after normalizing paths with \u00a0realpath()\u00a0. Because normalization strips the trailing directory separator from \u00a0$chrootPath\u00a0, the check only verifies that \u00a0$chrootPath\u00a0 is a string prefix of\u00a0$realfile, so a chroot of \u00a0\/var\/www\u00a0 also matches sibling directories like \/var\/www2\u00a0, \/var\/www-admin, or\u00a0\/var\/www_backup. An attacker who controls part of the rendered HTML could exploit this to escape the chroot and read sensitive files outside the allowed directory. This issue has been fixed in version 3.16.<\/p>\n<p>  Severity: 2.3 | LOW<\/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-55554 Published : July 28, 2026, 8:17 p.m. | 23\u00a0minutes ago Description :Dompdf is an HTML to PDF converter for PHP. In versions 3.15 and prior, the\u00a0validateLocalUri()\u00a0method enforces chroot boundaries with a\u00a0strpos() prefix check after normalizing paths with \u00a0realpath()\u00a0. Because normalization strips the trailing directory separator from \u00a0$chrootPath\u00a0, the check only verifies that &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-82647","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/82647","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=82647"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/82647\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=82647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=82647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=82647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}