GitHub Advisoryadvisory · Packagist
GHSA-7pgw-q3qp-6pgq DynamicPageList3 vulnerability exposes hidden/suppressed usernames
HIGH
Official page ↗
- Aliases
- CVE-2025-53625
- Ecosystem
- Packagist
- Packages
- universal-omega/dynamic-page-list3
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-359
- Reviewed
- 2025-07-10
Affected packages
• Packagist universal-omega/dynamic-page-list3: < 3.6.4 → fixed in 3.6.4
Description
Summary
Several `#dpl` parameters can leak usernames that have been hidden using revision deletion, suppression, or the `hideuser` block flag.
Details
The parameters `adduser`, `addauthor`, and `addlasteditor` output the page creator or last editor using the `%USER%` placeholder. These display the actual username, even when that name has been hidden using revision deletion, suppression (oversight), or `hideuser`.
The `%CONTRIBUTOR%` placeholder, used with `addcontribution`, behaves similarly and also reveals hidden usernames.
In addition, the following parameters can expose suppressed usernames when combined with `%USER%` or similar output placeholders:
• `lastrevisionbefore`
• `allrevisionsbefore`
• `firstrevisionsince`
• `allrevisionssince`
These parameters reference specific revisions and allow output of user-related metadata. If a username has been hidden from those revisions, it may still appear in the output.
Further, the parameters `createdby`, `notcreatedby`, `modifiedby`, `notmodifiedby`, `lastmodifiedby`, and `notlastmodifiedby` accept usernames as input. When the correct (suppressed) username is used, the query may return matching pages or edits. This can reveal the presence and association of a hidden identity, even if not displayed directly. However, this is a more indirect exposure than the output parameters mentioned above.
Proof of Concept
1. Create a page while logged in as a user.
2. Revision delete or suppress the username from the page history.
3. Use a DPL query with one of the affected parameters.
4. The output reveals the hidden username.
Example
The following query reveals the suppressed username `Example user`:
```wikitext
{{#dpl:
| title = File:Example.png
| addauthor = true
| format = ,%USER%,,
}}
```
Similar behavior occurs using parameters like `lastrevisionbefore` with `%USER%` in the `format` string.
Impact
This issue causes the exposure of usernames that were intentionally hidden by administrators. It directly undermines revision deletion, user suppression, and block-related privacy measures. In some cases, usernames can be revealed both directly through output and indirectly through query behavior.
Related
Alias · CVE (1)
- CVE-2025-53625 The DynamicPageList3 extension is a reporting tool for MediaWiki, listing category members and intersections with various formats and… vulnerability
Weakness · CWE (1)
- CWE-359 Exposure of Private Personal Information to an Unauthorized Actor weakness
References
- https://github.com/Universal-Omega/DynamicPageList3/security/advisories/GHSA-7pgw-q3qp-6pgq web
- https://nvd.nist.gov/vuln/detail/CVE-2025-53625 advisory
- https://github.com/Universal-Omega/DynamicPageList3/commit/a3dae0c89fb4214390c29ceffa23bbe2099986d6 web
- https://github.com/Universal-Omega/DynamicPageList3 package