WeChat Pay callback signature verification bypassed when Host header is localhost
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-290.
Summary
Pay is an open-source payment SDK extension package for various Chinese payment services. Prior to version 3.7.20, 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. Version 3.7.20 fixes the issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| yansongda | pay | before 3.7.20 | 3.7.20 | Patch available | CNA |
| — | yansongda/pay (Packagist) | before 3.7.20 | 3.7.20 | Patch available | GHSA-q938-ghwv-8gvc |
- pay Vendoryansongda Affected before 3.7.20 Fixed in 3.7.20 Patch available CNA
- yansongda/pay (Packagist) Vendor— Affected before 3.7.20 Fixed in 3.7.20 Patch available GHSA-q938-ghwv-8gvc
Remediation
- Fix · CNA pay (yansongda) Fixed in 3.7.20
- Fix · GHSA-q938-ghwv-8gvc yansongda/pay (Packagist) Fixed in 3.7.20 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33661
- 2026-10-03 Alias added: GHSA-q938-ghwv-8gvc
- 2026-10-25 EPSS moved to the below the 50th percentile
References
Sources
- CVE-2026-33661 · CVE Program
- CVE-2026-33661 · NVD
- FIRST EPSS
- GHSA-q938-ghwv-8gvc · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences