{"id":39852,"date":"2026-10-16T04:34:00","date_gmt":"2026-10-15T20:34:00","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-104025"},"modified":"2026-10-16T04:34:00","modified_gmt":"2026-10-15T20:34:00","slug":"cve-2026-104025","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-104025","title":{"rendered":"CVE-2026-104025 &#8211; Path Traversal (CWE-22) in the execute_obj function of the archive object viewer (peach.pa"},"content":{"rendered":"<p>Path Traversal (CWE-22) in the execute_obj function of the archive object viewer (peach.pas) in PeaZip 11.2.0 and earlier on Windows allows an attacker who convinces a victim to preview an entry of a crafted archive via the &#8220;Preview with&#8230; -&gt; Associated application&#8221; action (Shift+Ctrl+O) to execute an arbitrary program already present on the victim&#8217;s system, with no warning dialog. The function validates only outname (PeaZip&#8217;s own temporary directory) with checkfiledirname, while the string actually executed is the concatenation outname+tempstring; tempstring is taken verbatim from the archive entry name (StringGridList.Cells[12,&#8230;]) and is never validated. checkfiledirname (list_utils.pas) rejects control and reserved characters in the file name but performs no &#8220;..&#8221; path-containment check, so an entry named ..\/..\/..\/..\/Windows\/System32\/calc.exe escapes the extraction directory and is passed to cp_open -&gt; ShellExecuteW; the extracting backend (7-Zip) strips the traversal while the opener does not. In addition, the SECEXTCONST dangerous-extension confirmation prompt is implemented only in the double-click handler (grid_obj_open) and not on this preview route, so an executable inside an archive reaches ShellExecuteW unannounced, and where the prompt does fire it names the entry&#8217;s display name rather than the resolved path that will run. Arbitrary code execution was demonstrated with a proof of concept against official PeaZip builds, confirmed on two archive formats (.zip and .tar) to show the defect is in PeaZip&#8217;s own path handling and not in a single format parser.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Path Traversal (CWE-22) in the execute_obj function of the archive object viewer (peach.pas) in PeaZip 11.2.0 and earlier on Windows allows an attacker who convinces a victim to preview an entry of a <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-39852","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/39852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=39852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=39852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=39852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}