<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>DokuWiki: Recently Opened Tasks</title>
    <link>https://github.com/dokuwiki/dokuwiki</link>
    <description></description>
    <pubDate>Sat, 11 Apr 2026 04:51:58 +0000</pubDate>
    <xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
      <title>[issue-open]: Search in Media Manager loses paramteres</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4608</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;I am using Media Manager from within a plugin (tested with struct and prosemirror) to select media files. Those plugins insert the media into their own input fields, so the provide extra request parameters to the media manager, including a callback.&lt;br&gt;&lt;br&gt;The struct requests looks like this: `https://example.com/lib/exe/mediamanager.php?ns=test%3Aplugins&amp;edid=struct__69cb958ab7126&amp;onselect=insertStructMedia`&lt;br&gt;&lt;br&gt;But then the request parameters are purged by [in the search form](https://github.com/dokuwiki/dokuwiki/blob/b1f32137ecbabcc1258c011d36e7b5a90560efd0/inc/media.php#L1638)&lt;br&gt;&lt;br&gt;As a result, the plugin-specific context is lost and the struct callback is never called. So media syntax is simply  inserted into the editor textarea (if available), since it's a fallback.&lt;br&gt;&lt;br&gt;If I am reading [media.js](https://github.com/dokuwiki/dokuwiki/blob/b1f32137ecbabcc1258c011d36e7b5a90560efd0/lib/scripts/media.js#L271) correctly, this is where `edid` and `onselect` are handled. But they are missing after search.&lt;br&gt;&lt;br&gt;This behavior was originally reported in: https://github.com/cosmocode/dokuwiki-plugin-struct/issues/752&lt;br&gt;&lt;br&gt;Prosemirror editor is also affected. Because is replaces the syntax editor textarea, nothing at all is inserted after executing media search.&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2025-05-14b "Librarian" and master&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.4&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;Nginx&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>I am using Media Manager from within a plugin (tested with struct and prosemirror) to select media files. Those plugins insert the media into their own input fields, so the provide extra request parameters to the media manager, including a callback.<br><br>The struct requests looks like this: `https://example.com/lib/exe/mediamanager.php?ns=test%3Aplugins&edid=struct__69cb958ab7126&onselect=insertStructMedia`<br><br>But then the request parameters are purged by [in the search form](https://github.com/dokuwiki/dokuwiki/blob/b1f32137ecbabcc1258c011d36e7b5a90560efd0/inc/media.php#L1638)<br><br>As a result, the plugin-specific context is lost and the struct callback is never called. So media syntax is simply  inserted into the editor textarea (if available), since it's a fallback.<br><br>If I am reading [media.js](https://github.com/dokuwiki/dokuwiki/blob/b1f32137ecbabcc1258c011d36e7b5a90560efd0/lib/scripts/media.js#L271) correctly, this is where `edid` and `onselect` are handled. But they are missing after search.<br><br>This behavior was originally reported in: https://github.com/cosmocode/dokuwiki-plugin-struct/issues/752<br><br>Prosemirror editor is also affected. Because is replaces the syntax editor textarea, nothing at all is inserted after executing media search.<br><br>### Version of DokuWiki<br><br>2025-05-14b "Librarian" and master<br><br>### PHP Version<br><br>8.4<br><br>### Webserver and version of webserver<br><br>Nginx<br><br>### Browser and version of browser, operating system running browser<br><br>_No response_<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>annda</author>
      <pubDate>Tue, 31 Mar 2026 10:10:06 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: Parser Error: Greedy matching of double curly braces {{ across table cells/structures mangles content</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4606</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;There is an issue with how the DokuWiki parser handles double curly braces `{{` when they are used as literal text inside a table cell. If a subsequent table or section contains a legitimate image link `{{image.png}}`, the parser incorrectly pairs the first opening `{{` with the final `}}` of the image, treating all intermediate content (including table markup) as part of a media link.&lt;br&gt;&lt;br&gt;**Steps to Reproduce**&lt;br&gt;Input the following DokuWiki markup:&lt;br&gt;&lt;br&gt;```&lt;br&gt;| Cell 1 | This is a macro: {{macro}.function()} |&lt;br&gt;| Cell 2 | Normal text |&lt;br&gt;&lt;br&gt;Sample text&lt;br&gt;&lt;br&gt;| Image Cell | {{:wiki:image.png}} |&lt;br&gt;```&lt;br&gt;&lt;br&gt;**Expected Behavior**&lt;br&gt;The parser should ideally recognize that `{{macro}.function()}` is not a valid image/media syntax or, at the very least, not allow media tags to span across table cell boundaries (`|`).&lt;br&gt;&lt;br&gt;**Actual Behavior**&lt;br&gt;The renderer produces a broken `&lt;a&gt;` tag starting from the first `{{` and only closing it at the end of the second table. This results in the following corrupted HTML output:&lt;br&gt;&lt;br&gt;```html&lt;br&gt;&lt;td class="col1"&gt;This is a macro: &lt;a href="/_media/macro_.function_..." ...&gt; ... content ... | {{:wiki:image.png&lt;/a&gt;&lt;/td&gt;&lt;br&gt;```&lt;br&gt;&lt;br&gt;This effectively "swallows" the table structure and turns technical documentation into a giant, broken hyperlink.&lt;br&gt;&lt;br&gt;**Workaround**&lt;br&gt;The current way to fix this is to manually escape the opening braces:&lt;br&gt;```&lt;br&gt;**{macro6}**=%%{{%%macro}.function()}&lt;br&gt;```&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2025-05-14 "Librarian"&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.4&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;Apache 2.4 on Debian GNU/Linux 13 (trixie)&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;Chrome 146.0.7680.81 on Windows 11&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>There is an issue with how the DokuWiki parser handles double curly braces `{{` when they are used as literal text inside a table cell. If a subsequent table or section contains a legitimate image link `{{image.png}}`, the parser incorrectly pairs the first opening `{{` with the final `}}` of the image, treating all intermediate content (including table markup) as part of a media link.<br><br>**Steps to Reproduce**<br>Input the following DokuWiki markup:<br><br>```<br>| Cell 1 | This is a macro: {{macro}.function()} |<br>| Cell 2 | Normal text |<br><br>Sample text<br><br>| Image Cell | {{:wiki:image.png}} |<br>```<br><br>**Expected Behavior**<br>The parser should ideally recognize that `{{macro}.function()}` is not a valid image/media syntax or, at the very least, not allow media tags to span across table cell boundaries (`|`).<br><br>**Actual Behavior**<br>The renderer produces a broken `<a>` tag starting from the first `{{` and only closing it at the end of the second table. This results in the following corrupted HTML output:<br><br>```html<br><td class="col1">This is a macro: <a href="/_media/macro_.function_..." ...> ... content ... | {{:wiki:image.png</a></td><br>```<br><br>This effectively "swallows" the table structure and turns technical documentation into a giant, broken hyperlink.<br><br>**Workaround**<br>The current way to fix this is to manually escape the opening braces:<br>```<br>**{macro6}**=%%{{%%macro}.function()}<br>```<br><br>### Version of DokuWiki<br><br>2025-05-14 "Librarian"<br><br>### PHP Version<br><br>8.4<br><br>### Webserver and version of webserver<br><br>Apache 2.4 on Debian GNU/Linux 13 (trixie)<br><br>### Browser and version of browser, operating system running browser<br><br>Chrome 146.0.7680.81 on Windows 11<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>eduardomozart</author>
      <pubDate>Mon, 23 Mar 2026 18:49:59 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: PHP Type Juggling in Session Authentication</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4602</link>
      <description>This was reported by @morimori-dev via email&lt;br&gt;&lt;br&gt;## Summary&lt;br&gt;&lt;br&gt;* Type: Authentication Bypass via Type Juggling (CWE-697)&lt;br&gt;* Severity: Medium (CVSS 5.3)&lt;br&gt;* File: inc/auth.php, lines 340-342&lt;br&gt;&lt;br&gt;The session authentication check uses loose comparison (==) instead of strict comparison (===) for SHA1 password hash, username, and browser UID validation. PHP type juggling allows "magic hash" values (SHA1 hashes starting with 0e followed by only digits) to be considered numerically equal.&lt;br&gt;&lt;br&gt;## Vulnerable Code&lt;br&gt;```php&lt;br&gt;// inc/auth.php lines 340-342&lt;br&gt;($session['user'] == $user) &amp;&amp;           // loose comparison&lt;br&gt;($session['pass'] == sha1($pass)) &amp;&amp;     // loose comparison — TYPE JUGGLING RISK&lt;br&gt;($session['buid'] == auth_browseruid())  // loose comparison&lt;br&gt;```&lt;br&gt;&lt;br&gt;## Proof of Concept&lt;br&gt;&lt;br&gt;Known SHA1 magic hashes exist:&lt;br&gt;&lt;br&gt;sha1("aaroZmOk") = 0e66507019969427134894567494305185566735&lt;br&gt;sha1("aaK1STfY") = 0e76658526655756207688271159624026011393&lt;br&gt;sha1("aaO8zKZF") = 0e89257456677279068558073954252716165668&lt;br&gt;&lt;br&gt;In PHP: "0e66507..." == "0e76658..." evaluates to 0 == 0 → TRUE&lt;br&gt;&lt;br&gt;If both $session['pass'] and sha1($pass) happen to be magic hashes, the authentication check passes regardless of the actual password value.&lt;br&gt;&lt;br&gt;## Impact&lt;br&gt;&lt;br&gt;Authentication bypass: Under specific conditions (both session hash and cookie hash are magic hashes), an attacker's session validation succeeds without knowing the correct password&lt;br&gt;&lt;br&gt;Probability: Low per-user (~1 in 10^8 for SHA1), but increases with the number of users/installations&lt;br&gt;&lt;br&gt;## Suggested Fix&lt;br&gt;&lt;br&gt;```&lt;br&gt;// Change == to === on lines 340, 341, 342:&lt;br&gt;($session['user'] === $user) &amp;&amp;&lt;br&gt;($session['pass'] === sha1($pass)) &amp;&amp;&lt;br&gt;($session['buid'] === auth_browseruid())&lt;br&gt;```</description>
      <content:encoded><![CDATA[This was reported by @morimori-dev via email<br><br>## Summary<br><br>* Type: Authentication Bypass via Type Juggling (CWE-697)<br>* Severity: Medium (CVSS 5.3)<br>* File: inc/auth.php, lines 340-342<br><br>The session authentication check uses loose comparison (==) instead of strict comparison (===) for SHA1 password hash, username, and browser UID validation. PHP type juggling allows "magic hash" values (SHA1 hashes starting with 0e followed by only digits) to be considered numerically equal.<br><br>## Vulnerable Code<br>```php<br>// inc/auth.php lines 340-342<br>($session['user'] == $user) &&           // loose comparison<br>($session['pass'] == sha1($pass)) &&     // loose comparison — TYPE JUGGLING RISK<br>($session['buid'] == auth_browseruid())  // loose comparison<br>```<br><br>## Proof of Concept<br><br>Known SHA1 magic hashes exist:<br><br>sha1("aaroZmOk") = 0e66507019969427134894567494305185566735<br>sha1("aaK1STfY") = 0e76658526655756207688271159624026011393<br>sha1("aaO8zKZF") = 0e89257456677279068558073954252716165668<br><br>In PHP: "0e66507..." == "0e76658..." evaluates to 0 == 0 → TRUE<br><br>If both $session['pass'] and sha1($pass) happen to be magic hashes, the authentication check passes regardless of the actual password value.<br><br>## Impact<br><br>Authentication bypass: Under specific conditions (both session hash and cookie hash are magic hashes), an attacker's session validation succeeds without knowing the correct password<br><br>Probability: Low per-user (~1 in 10^8 for SHA1), but increases with the number of users/installations<br><br>## Suggested Fix<br><br>```<br>// Change == to === on lines 340, 341, 342:<br>($session['user'] === $user) &&<br>($session['pass'] === sha1($pass)) &&<br>($session['buid'] === auth_browseruid())<br>```]]></content:encoded>
      <author>splitbrain</author>
      <pubDate>Sun, 22 Mar 2026 18:08:55 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: [Bug] Incorrect anchor redirect after renaming a section heading during a section edit</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4586</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;When editing a specific section of a page (using the section edit button) and changing the heading of that section, saving the page redirects the user to the old section anchor instead of the newly updated one. Because the old anchor no longer exists, the browser does not scroll to the edited section.&lt;br&gt;&lt;br&gt;### Steps to Reproduce&lt;br&gt;1. Create a new page (or open an existing one) and add a heading, for example: ``== Section 1 ==``. Save the page.&lt;br&gt;2. Click the **Edit** button specifically for that section ("Section 1").&lt;br&gt;3. In the editor, change the heading text to something else, for example: ``== Section 2 ==``.&lt;br&gt;4. Click **Save**.&lt;br&gt;&lt;br&gt;### Expected Behavior&lt;br&gt;After saving, DokuWiki should redirect the browser to the newly generated anchor corresponding to the updated heading (e.g., ``doku.php?id=page_name#section_2``). The page should scroll directly to the newly renamed section.&lt;br&gt;&lt;br&gt;### Actual Behavior&lt;br&gt;DokuWiki redirects the browser to the old anchor (e.g., ``doku.php?id=page_name#section_1``). Since "Section 1" no longer exists, the page simply loads at the top, and the user loses their place in the document.&lt;br&gt;&lt;br&gt;### Additional Context&lt;br&gt;It appears the redirect anchor is being passed from the initial state of the section edit form (likely hidden input fields) and isn't being dynamically recalculated based on the newly saved content before triggering the redirect.&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2025-05-14 "Librarian"&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.4&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;Apache 2.4 on Debian 13 (Trixie)&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;Chrome 145.0.7632.117 on Windows 11&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>When editing a specific section of a page (using the section edit button) and changing the heading of that section, saving the page redirects the user to the old section anchor instead of the newly updated one. Because the old anchor no longer exists, the browser does not scroll to the edited section.<br><br>### Steps to Reproduce<br>1. Create a new page (or open an existing one) and add a heading, for example: ``== Section 1 ==``. Save the page.<br>2. Click the **Edit** button specifically for that section ("Section 1").<br>3. In the editor, change the heading text to something else, for example: ``== Section 2 ==``.<br>4. Click **Save**.<br><br>### Expected Behavior<br>After saving, DokuWiki should redirect the browser to the newly generated anchor corresponding to the updated heading (e.g., ``doku.php?id=page_name#section_2``). The page should scroll directly to the newly renamed section.<br><br>### Actual Behavior<br>DokuWiki redirects the browser to the old anchor (e.g., ``doku.php?id=page_name#section_1``). Since "Section 1" no longer exists, the page simply loads at the top, and the user loses their place in the document.<br><br>### Additional Context<br>It appears the redirect anchor is being passed from the initial state of the section edit form (likely hidden input fields) and isn't being dynamically recalculated based on the newly saved content before triggering the redirect.<br><br>### Version of DokuWiki<br><br>2025-05-14 "Librarian"<br><br>### PHP Version<br><br>8.4<br><br>### Webserver and version of webserver<br><br>Apache 2.4 on Debian 13 (Trixie)<br><br>### Browser and version of browser, operating system running browser<br><br>Chrome 145.0.7632.117 on Windows 11<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>eduardomozart</author>
      <pubDate>Mon, 02 Mar 2026 15:56:14 +0000</pubDate>
    </item>
    <item>
      <title>[issue-open]: New Extension Manager is missing the enabled/disabled filter checkboxes</title>
      <link>https://github.com/dokuwiki/dokuwiki/issues/4583</link>
      <description>### The problem&lt;br&gt;&lt;br&gt;After a recent upgrade to DokuWiki 2025-05-14b "Librarian" (from Kaos), the Extension Manager lost the previously present checkboxed filters for enabled and disabled extensions.&lt;br&gt;The controls used to be here:&lt;br&gt;&lt;img width="680" height="215" alt="Image" src="https://github.com/user-attachments/assets/d804ec84-582f-4e49-a3a6-382c3b81dafc" /&gt;&lt;br&gt;&lt;br&gt;Now they are gone:&lt;br&gt;&lt;img width="1730" height="422" alt="Image" src="https://github.com/user-attachments/assets/5be5b058-85be-48b7-a52f-62ad7ecc847d" /&gt;&lt;br&gt;&lt;br&gt;Not having these controls makes the management of plugins hard, especially if there are many installed but disabled plugins, which can be for various reasons. Greying out disabled plugins in the list is not sufficient and forces the Wiki administrator to optically browse the complete list to find enabled or disabled plugins.&lt;br&gt;&lt;br&gt;I would see this as an UI bug&lt;br&gt;&lt;br&gt;### Version of DokuWiki&lt;br&gt;&lt;br&gt;2025-05-14b "Librarian"&lt;br&gt;&lt;br&gt;### PHP Version&lt;br&gt;&lt;br&gt;8.2.29&lt;br&gt;&lt;br&gt;### Webserver and version of webserver&lt;br&gt;&lt;br&gt;NGINX 1.22.1 on Debian 12 "bookworm"&lt;br&gt;&lt;br&gt;### Browser and version of browser, operating system running browser&lt;br&gt;&lt;br&gt;Firefox 147.0.3 (aarch64) and Google Chrome 144.0.7559.133 (arm64) on macOS 15.7.3 "Sequoia" / Firefox 140.7.0esr on Debian 12 "bookworm"&lt;br&gt;&lt;br&gt;### Additional environment information&lt;br&gt;&lt;br&gt;_No response_&lt;br&gt;&lt;br&gt;### Relevant logs and/or error messages&lt;br&gt;&lt;br&gt;```text&lt;br&gt;&lt;br&gt;```</description>
      <content:encoded><![CDATA[### The problem<br><br>After a recent upgrade to DokuWiki 2025-05-14b "Librarian" (from Kaos), the Extension Manager lost the previously present checkboxed filters for enabled and disabled extensions.<br>The controls used to be here:<br><img width="680" height="215" alt="Image" src="https://github.com/user-attachments/assets/d804ec84-582f-4e49-a3a6-382c3b81dafc" /><br><br>Now they are gone:<br><img width="1730" height="422" alt="Image" src="https://github.com/user-attachments/assets/5be5b058-85be-48b7-a52f-62ad7ecc847d" /><br><br>Not having these controls makes the management of plugins hard, especially if there are many installed but disabled plugins, which can be for various reasons. Greying out disabled plugins in the list is not sufficient and forces the Wiki administrator to optically browse the complete list to find enabled or disabled plugins.<br><br>I would see this as an UI bug<br><br>### Version of DokuWiki<br><br>2025-05-14b "Librarian"<br><br>### PHP Version<br><br>8.2.29<br><br>### Webserver and version of webserver<br><br>NGINX 1.22.1 on Debian 12 "bookworm"<br><br>### Browser and version of browser, operating system running browser<br><br>Firefox 147.0.3 (aarch64) and Google Chrome 144.0.7559.133 (arm64) on macOS 15.7.3 "Sequoia" / Firefox 140.7.0esr on Debian 12 "bookworm"<br><br>### Additional environment information<br><br>_No response_<br><br>### Relevant logs and/or error messages<br><br>```text<br><br>```]]></content:encoded>
      <author>fthommen</author>
      <pubDate>Thu, 12 Feb 2026 15:54:10 +0000</pubDate>
    </item>
  </channel>
</rss>