Summary
CVE-2026-16272 is a critical Use of Less Trusted Source (CWE-348) vulnerability in the PayTR Virtual Pos iFrame API (v9x) WHMCS Module, developed by PayTR Payment and Electronic Money Institution Inc. The module improperly relies on untrusted, client-controlled HTTP headers to determine the client’s IP address, allowing remote unauthenticated attackers to spoof their identity for the purposes of fraud-scoring, logging, or access-control decisions tied to IP identification. With a CVSS v3.1 base score of 9.1 (Critical), the flaw is remotely exploitable over the network with no authentication or user interaction required.
Technical details
- Root cause: The WHMCS payment module trusts client-supplied HTTP headers (e.g.,
X-Forwarded-Foror similar proxy headers) as the authoritative source of the customer’s IP address, instead of relying on the actual TCP connection source or properly validated/sanitized proxy chain data. - Trigger conditions: An attacker sends a crafted HTTP request to the merchant’s WHMCS/PayTR iFrame payment checkout flow with a forged client-IP header value.
- Attack vector: Network (AV:N), low attack complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N).
- Impact: Successful exploitation is classified as "Exploitation of Trusted Identifiers" (CAPEC-21) — it undermines any IP-based trust, fraud-detection, geofencing, or logging/audit decisions the merchant or PayTR backend makes for a transaction, resulting in a high confidentiality impact and high integrity impact on transaction/customer identification data. Availability is not impacted.
Affected software
- PayTR Virtual Pos iFrame API (v9x) WHMCS Module — versions v9.0.0 through v9.0.2
- Fixed in v9.0.3 and later
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: Upgrade the PayTR Virtual Pos iFrame API WHMCS Module to v9.0.3 or later, where the client IP determination logic has been corrected.
- If immediate patching is not possible:
- Do not rely on client-supplied headers (e.g.,
X-Forwarded-For) for fraud, access-control, or audit decisions; configure the web server/load balancer to overwrite or strip these headers before they reach the application, deriving client IP only from the trusted proxy/connection layer. - Review WHMCS/PayTR transaction and access logs for anomalous or inconsistent IP values that may indicate attempted spoofing.
- Restrict administrative and payment-callback endpoints with additional network-level controls (e.g., IP allow-listing at the infrastructure layer, WAF rules) until the module is updated.
- Do not rely on client-supplied headers (e.g.,

