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

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. Learn more about Dependency Scanning →

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 Thu, 26 Mar 2026 12:17:24 +0000.