{"id":"GHSA-gfhq-7499-f3f2","aliases":["CVE-2026-29788"],"title":"TSPortal: Any user can forge self-deletion requests for any account","titleSource":"OSV","descriptionSource":"OSV","declaredSeverity":"HIGH","description":"### Summary\nConversion of empty strings to null allows disguising DPA reports as genuine self-deletion reports.\n\n### Details\nCreating 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.\n\nThis can be prevented by disabling [convertEmptyStringsToNull](https://api.laravel.com/docs/12.x/Illuminate/Foundation/Configuration/Middleware.html#method_convertEmptyStringsToNull) in the middleware, or by validating `evidence` in Http/Controllers/DPAController::store() to not be empty.\n\n### PoC\nNew 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\n\n### Impact\nPotential unauthorized deletion of any arbitrary user's data both in the current system (TSPortal) and subsequent systems if actioned.","severity":"high","score":7.5,"published":"2026-03-27T15:37:10.000Z","modified":"2026-04-09T05:21:46.944Z","withdrawn":false,"knownExploited":false,"affected":[{"ecosystem":"Packagist","name":"miraheze/ts-portal","sources":[{"name":"OSV · GHSA-gfhq-7499-f3f2","url":"https://osv.dev/vulnerability/GHSA-gfhq-7499-f3f2"}],"ranges":[{"events":[{"introduced":"0"},{"fixed":"30"}],"type":"ECOSYSTEM"}],"versions":["v1","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v2","v20","v21","v22","v23","v24","v25","v26","v27","v28","v29","v3","v4","v5","v6","v7","v8","v9"],"fixed":["30"]}],"sourceAffected":[],"references":["https://github.com/miraheze/TSPortal/security/advisories/GHSA-gfhq-7499-f3f2","https://nvd.nist.gov/vuln/detail/CVE-2026-29788","https://api.laravel.com/docs/12.x/Illuminate/Foundation/Configuration/Middleware.html#method_convertEmptyStringsToNull","https://github.com/miraheze/TSPortal","https://issue-tracker.miraheze.org/T15053"],"sources":[{"name":"OSV","id":"GHSA-gfhq-7499-f3f2","modified":"2026-04-09T05:21:46.944471Z","url":"https://osv.dev/vulnerability/GHSA-gfhq-7499-f3f2"}],"assessments":[{"source":"OSV","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","score":7.5},{"source":"OSV","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:L/SA:H","score":8.4}],"products":[],"remediation":[],"kev":{"status":"not-listed","checkedAt":"2026-10-29T01:35:32.302Z"},"coverage":[{"source":"NVD","status":"not-checked"},{"source":"GHSA","status":"not-checked"},{"source":"EUVD","status":"not-checked"},{"source":"EPSS","status":"not-checked"}],"evidence":[]}