CVE-2026-33661
Received Received - Intake
Signature Verification Bypass in Pay SDK Enables Payment Forgery

Publication date: 2026-03-26

Last updated on: 2026-04-01

Assigner: GitHub, Inc.

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-26
Last Modified
2026-04-01
Generated
2026-06-16
AI Q&A
2026-03-27
EPSS Evaluated
2026-06-15
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
yansongda pay to 3.7.20 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-290 This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in the Pay open-source payment SDK extension package for Chinese payment services. Before version 3.7.20, the function verify_wechat_sign() in the source code would skip all signature verification if the incoming HTTP request reported 'localhost' as the host.

An attacker can exploit this by sending a specially crafted HTTP request to the WeChat Pay callback endpoint with a 'Host: localhost' header. This causes the system to bypass the RSA signature verification entirely.

As a result, the attacker can forge fake WeChat Pay payment success notifications, potentially tricking the application into marking orders as paid even though no real payment was made.

This issue was fixed in version 3.7.20 of the SDK.

Impact Analysis

This vulnerability can have a significant impact by allowing attackers to bypass payment verification.

Specifically, attackers can send fake payment success notifications to your application, causing it to incorrectly mark orders as paid without any actual payment.

This can lead to financial losses, fraud, and disruption of business operations.

Mitigation Strategies

To mitigate this vulnerability, immediately upgrade the Pay SDK to version 3.7.20 or later, where the issue with skipping signature verification for requests with Host: localhost is fixed.

Additionally, as a temporary measure, ensure that your application does not accept or trust HTTP requests with a Host header set to localhost on the WeChat Pay callback endpoint.

Detection Guidance

This vulnerability can be detected by monitoring HTTP requests to the WeChat Pay callback endpoint and checking for requests that include a 'Host: localhost' header. Such requests indicate an attempt to bypass signature verification.

You can use network monitoring or web server access logs to identify suspicious requests with the 'Host: localhost' header targeting the callback endpoint.

Example commands to detect such requests include:

  • Using grep on web server logs: grep -i 'Host: localhost' /path/to/access.log
  • Using tcpdump to capture HTTP traffic and filter for 'Host: localhost': sudo tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | grep 'Host: localhost'
  • Using curl to test the endpoint manually: curl -H 'Host: localhost' http://yourserver/wechatpay/callback

If such requests are found, it indicates potential exploitation attempts of this vulnerability.

Compliance Impact

This vulnerability allows attackers to bypass signature verification and forge fake payment success notifications, potentially causing applications to mark orders as paid without actual payment.

Such unauthorized payment processing could lead to financial discrepancies and undermine data integrity, which may impact compliance with standards and regulations that require accurate transaction records and secure processing, such as GDPR and HIPAA.

However, the provided information does not explicitly describe the direct effects on compliance with these standards.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-33661. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart