<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in plugin.info.txt</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>9af82229f03804fb3198cbdf48d60d34d8afb191 - extension: validate base name to prevent path traversal on install</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/lib/plugins/extension/_test/testdata/evilbase/plugin.info.txt#9af82229f03804fb3198cbdf48d60d34d8afb191</link>
        <description>extension: validate base name to prevent path traversal on installThe extension base name flowed unsanitized from an uploaded archive&apos;splugin.info.txt (or an extension id) into getInstallDir(), wherefullpath() collapses &apos;..&apos; segments. A crafted base such as&apos;../../../../evil&apos; therefore resolved outside lib/plugins/, lettingdircopy() write the archive contents to an arbitrary web-writable path.Route every base assignment through a new setBase() that rejectsanything other than a bare extension name.Note: this is not really a security concern since plugins can executearbitrary code by design. The is mostly to make sure, plugin code is notinstalled accidentally at the wrong location.

            List of files:
            /dokuwiki/lib/plugins/extension/_test/testdata/evilbase/plugin.info.txt</description>
        <pubDate>Thu, 25 Jun 2026 19:08:43 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;gohr@cosmocode.de&gt;</dc:creator>
    </item>
</channel>
</rss>
