2026-02-07 21:45CVE-2026-25858VulnCheck
PUBLISHED5.2CWE-640

macrozheng mall <= 1.0.3 Unauthenticated Password Reset via OTP Disclosure

macrozheng mall version 1.0.3 and prior contains an authentication vulnerability in the mall-portal password reset workflow that allows an unauthenticated attacker to reset arbitrary user account passwords using only a victim’s telephone number. The password reset flow exposes the one-time password (OTP) directly in the API response and validates password reset requests solely by comparing the provided OTP to a value stored by telephone number, without verifying user identity or ownership of the telephone number. This enables remote account takeover of any user with a known or guessable telephone number.

Problem type

Affected products

macrozheng

mall

<= 1.0.3 - AFFECTED

References

GitHub Security Advisories

GHSA-3h52-r54r-fvgf

macrozheng mall version 1.0.3 and prior contains an authentication vulnerability in the mall...

https://github.com/advisories/GHSA-3h52-r54r-fvgf

macrozheng mall version 1.0.3 and prior contains an authentication vulnerability in the mall-portal password reset workflow that allows an unauthenticated attacker to reset arbitrary user account passwords using only a victim’s telephone number. The password reset flow exposes the one-time password (OTP) directly in the API response and validates password reset requests solely by comparing the provided OTP to a value stored by telephone number, without verifying user identity or ownership of the telephone number. This enables remote account takeover of any user with a known or guessable telephone number.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-25858
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-25858",
    "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
    "assignerShortName": "VulnCheck",
    "dateUpdated": "2026-02-07T21:45:41.186Z",
    "dateReserved": "2026-02-06T19:12:03.463Z",
    "datePublished": "2026-02-07T21:45:41.186Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "shortName": "VulnCheck",
        "dateUpdated": "2026-02-07T21:45:41.186Z"
      },
      "title": "macrozheng mall <= 1.0.3 Unauthenticated Password Reset via OTP Disclosure",
      "descriptions": [
        {
          "lang": "en",
          "value": "macrozheng mall version 1.0.3 and prior contains an authentication vulnerability in the mall-portal password reset workflow that allows an unauthenticated attacker to reset arbitrary user account passwords using only a victim’s telephone number. The password reset flow exposes the one-time password (OTP) directly in the API response and validates password reset requests solely by comparing the provided OTP to a value stored by telephone number, without verifying user identity or ownership of the telephone number. This enables remote account takeover of any user with a known or guessable telephone number.",
          "supportingMedia": [
            {
              "type": "text/html",
              "base64": false,
              "value": "macrozheng mall version 1.0.3 and prior contains an authentication vulnerability in the mall-portal password reset workflow that allows an unauthenticated attacker to reset arbitrary user account passwords using only a victim’s telephone number. The password reset flow exposes the one-time password (OTP) directly in the API response and validates password reset requests solely by comparing the provided OTP to a value stored by telephone number, without verifying user identity or ownership of the telephone number. This enables remote account takeover of any user with a known or guessable telephone number."
            }
          ]
        }
      ],
      "affected": [
        {
          "vendor": "macrozheng",
          "product": "mall",
          "repo": "https://github.com/macrozheng/mall",
          "defaultStatus": "unknown",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "1.0.3"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-640 Weak Password Recovery Mechanism for Forgotten Password",
              "cweId": "CWE-640",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/macrozheng/mall/issues/946",
          "tags": [
            "issue-tracking"
          ]
        },
        {
          "url": "https://www.macrozheng.com/",
          "tags": [
            "product"
          ]
        },
        {
          "url": "https://www.vulncheck.com/advisories/macrozheng-mall-unauthenticated-password-reset-via-otp-disclosure",
          "tags": [
            "third-party-advisory"
          ]
        }
      ],
      "metrics": [
        {
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "Lennon Chia",
          "type": "finder"
        }
      ]
    }
  }
}