Skip to content

← Public intelligence

Packagist package

miraheze/ts-portal

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

2 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 6.5PackagistPublished

    TSPortal's Uncontrolled User Creation via Validation Side Effects Leads to Potential Denial of Service

    CVE-2026-33541 · GHSA-f346-8rp3-4h9h

    Affected
    • Packagist miraheze/ts-portal <= 33
    Fixed in
    34· Vendor fix available
    Issue
    A flaw in TSPortal allowed attackers to create arbitrary user records in the database by abusing validation logic. While validation correctly rejected invalid usernames, a side effect within a validation rule caused user records to be created regardless of whether the request succeeded. This could be exploited to cause uncontrolled database growth, leading to a potential denial of service (DoS). Details When submitting a Data Processing Agreement (DPA) request in TSPortal, the DPAAlreadyLive validation rule previously called User::findOrCreate(). This method created a user record if one did not already exist. Although username validation (via MirahezeUsernameRule) correctly rejected invalid usernames, the DPAAlreadyLive rule was still executed during validation. Because it performed a state-changing operation, it created user records even when the overall validation failed and no DPA was created. As a result: - Validation correctly rejected invalid input - However, user…

    Recommended action: Upgrade to 34 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  2. High, CVSS 8.4PackagistPublished

    TSPortal: Any user can forge self-deletion requests for any account

    CVE-2026-29788 · GHSA-gfhq-7499-f3f2

    Affected
    • Packagist miraheze/ts-portal <= 29
    Fixed in
    30· Vendor fix available
    Issue
    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.

    Recommended action: Upgrade to 30 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →