Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. yansongda/pay
  4. ›
  5. CVE-2026-33661

CVE-2026-33661: WeChat Pay callback signature verification bypassed when Host header is localhost

March 25, 2026 (updated March 27, 2026)

The verify_wechat_sign() function in src/Functions.php unconditionally skips all signature verification when the PSR-7 request reports localhost as the host. An attacker can exploit this by sending a crafted HTTP request to the WeChat Pay callback endpoint with a Host: localhost header, bypassing the RSA signature check entirely.

This allows forging fake WeChat Pay payment success notifications, potentially causing applications to mark orders as paid without actual payment.

References

  • github.com/advisories/GHSA-q938-ghwv-8gvc
  • github.com/yansongda/pay
  • github.com/yansongda/pay/commit/26987ebf789f1e7f0a85febb640986ab4289fd7f
  • github.com/yansongda/pay/releases/tag/v3.7.20
  • github.com/yansongda/pay/security/advisories/GHSA-q938-ghwv-8gvc
  • nvd.nist.gov/vuln/detail/CVE-2026-33661

Code Behaviors & Features

Detect and mitigate CVE-2026-33661 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 3.7.20

Fixed versions

  • 3.7.20

Solution

Upgrade to version 3.7.20 or above.

Impact 8.6 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-290: Authentication Bypass by Spoofing

Source file

packagist/yansongda/pay/CVE-2026-33661.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:43 +0000.