GitHub Advisoryadvisory · Packagist
GHSA-gfhq-7499-f3f2 TSPortal: Any user can forge self-deletion requests for any account
HIGH
Official page ↗
- Aliases
- CVE-2026-29788
- Ecosystem
- Packagist
- Packages
- miraheze/ts-portal
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- Weaknesses
- CWE-1287, CWE-283
- Reviewed
- 2026-03-27
Affected packages
• Packagist miraheze/ts-portal: < 30 → fixed in 30
Description
Summary
Conversion of empty strings to null allows disguising DPA reports as genuine self-deletion reports.
Details
Creating a DPA report about another user and leaving the evidence field empty causes that report to look like the reported user self-requested deletion of their data. Ingenuine report is not distinguishable from a genuine one.
This can be prevented by disabling convertEmptyStringsToNull in the middleware, or by validating `evidence` in Http/Controllers/DPAController::store() to not be empty.
PoC
New DPA report -> Select "...someone who I suspect is under the age of 13" for the "The above username is..." field -> Add nothing to the "Evidence" field -> Submit
Impact
Potential unauthorized deletion of any arbitrary user's data both in the current system (TSPortal) and subsequent systems if actioned.
Related
Alias · CVE (1)
- CVE-2026-29788 TSPortal is the WikiTide Foundation’s in-house platform used by the Trust and Safety team to manage reports, investigations, appeals, and… vulnerability
References
- https://github.com/miraheze/TSPortal/security/advisories/GHSA-gfhq-7499-f3f2 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-29788 advisory
- https://api.laravel.com/docs/12.x/Illuminate/Foundation/Configuration/Middleware.html#method_convertEmptyStringsToNull web
- https://github.com/miraheze/TSPortal package
- https://issue-tracker.miraheze.org/T15053 web