☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Netatalk logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 3.7 🐛 CWE-125
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-44067

CVE-2026-44067 Vulnerability in Netatalk
📅 PUBLISHED: 2026-05-21 08:16 UTC 🔄 UPDATED: 2026-09-23 20:36 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.29%
👁️
0.29% probability
7.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1499
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
3.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-44067 is a heap over-read vulnerability in Netatalk, an open-source implementation of the Apple Filing Protocol (AFP). The flaw resides in the extended attribute (EA) header parsing logic, affecting versions 2.1.0 through 4.4.2. A remote authenticated attacker can craft malicious EA data to trigger a heap over-read, potentially leaking limited memory contents or causing a minor service disruption (e.g., crash or hang). The vulnerability has a CVSS score of 4.2 (Medium), with an EPSS score of 0.0% indicating low exploitation likelihood in the wild. No public proof-of-concept (PoC) or patch is currently available, and the vendor has not released a fix.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Netatalk is not distributed via NPM, PyPI, Go, or Ruby registries. It is typically compiled from source or installed via Linux distribution package managers (e.g., apt, yum). Users should monitor official Netatalk repositories and distribution channels for patch announcements.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
  • Base Score: 4.2 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: Low (PR:L) – attacker must be authenticated to the AFP service
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: Low (C:L) – limited memory leak
  • Integrity Impact: None (I:N)
  • Availability Impact: Low (A:L) – minor service disruption

The threat level is Medium due to the requirement for authentication and the limited impact. However, the lack of a patch increases risk for unpatched systems.

Deep Dive & Mechanics

The vulnerability exists in the EA header parsing routine within Netatalk's AFP server. When processing extended attributes (EAs) associated with files or directories, the code reads a header that includes a length field. Due to insufficient validation, a crafted EA header can specify a length larger than the actual allocated buffer, causing the parser to read beyond the heap boundary.

Root Cause: The function responsible for parsing EA headers does not properly check that the length field does not exceed the buffer size before copying data. This leads to a heap over-read when the parser attempts to read EA data based on the attacker-supplied length.

Attack Scenario:

  1. An attacker authenticates to the AFP service (e.g., via valid credentials).
  2. The attacker uploads or modifies a file with a malicious EA header.
  3. When the server processes the EA (e.g., during file listing or attribute retrieval), the over-read occurs.
  4. The attacker may observe leaked heap data (limited) or cause a crash/denial of service.

Affected Code Path: The EA parsing is typically invoked during AFP calls like FPGetFileDirParms or FPEnumerateExt2. The vulnerable function is likely in libatalk/ea/ea.c or similar.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code pattern is described generically.

Vulnerable Code (Conceptual):

void parse_ea_header(char *buffer, size_t buf_size) {
    uint32_t ea_length = *(uint32_t *)buffer; // read length from header
    // No check that ea_length <= buf_size
    char *ea_data = buffer + sizeof(uint32_t);
    // Over-read occurs if ea_length > buf_size - sizeof(uint32_t)
    process_ea_data(ea_data, ea_length);
}

Patched Code (Expected):

void parse_ea_header(char *buffer, size_t buf_size) {
    if (buf_size < sizeof(uint32_t)) return;
    uint32_t ea_length = *(uint32_t *)buffer;
    if (ea_length > buf_size - sizeof(uint32_t)) {
        // Reject malformed EA
        return;
    }
    char *ea_data = buffer + sizeof(uint32_t);
    process_ea_data(ea_data, ea_length);
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Netatalk 2.1.0 through 4.4.2 installed and running AFP service.
  • Valid AFP credentials (e.g., user account on the server).

Exploitation Steps:

  1. Identify Target: Scan for AFP services (port 548/tcp) using Shodan or Nmap.
  2. Authenticate: Use afpfs-ng or a custom AFP client to authenticate.
  3. Craft Malicious EA: Create a file with a crafted EA header where the length field exceeds the actual buffer size.
  4. Trigger Parsing: Perform an AFP operation that reads the EA (e.g., FPGetFileDirParms).
  5. Observe Outcome: Monitor server logs for crashes or capture leaked data via timing or error messages.

Example Payload (Python):

import socket

def craft_ea_payload():
    # Malicious EA header: length = 0xFFFFFFFF (max)
    header = b'\xff\xff\xff\xff'
    # Minimal EA data to trigger over-read
    data = b'A' * 16
    return header + data

# Connect to AFP server and send crafted EA
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('target_ip', 548))
# ... AFP authentication and file upload with crafted EA ...

Blue Team

Detection & Response:

  • Monitor AFP logs for repeated crashes or unusual EA-related errors.
  • Use network monitoring to detect anomalous AFP traffic (e.g., large EA headers).
  • Implement file integrity monitoring (FIM) on AFP shares to detect unauthorized file modifications.

Honeypot Setup:

  • Deploy a Netatalk honeypot with logging enabled to capture exploitation attempts.
  • Use tools like afpfs-ng to simulate legitimate traffic and baseline normal behavior.

Indicators of Compromise (IOCs)

  • Network: AFP traffic with EA headers containing length fields > 1024 bytes (typical max).
  • Host: Netatalk process crashes or segmentation faults in ea.c or related modules.
  • Logs: AFP error messages like "EA parse error" or "heap corruption detected".
  • File System: Files with extended attributes containing malformed headers (e.g., length field > actual data size).

Example Log Entry:

AFP: ERROR: ea_parse: invalid length 4294967295 in EA header

Detection Engineering

YARA Rule

rule CVE_2026_44067_Netatalk_EA_Overread {
    meta:
        description = "Detects crafted EA headers exploiting CVE-2026-44067"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2026-44067"
    strings:
        $ea_header = { FF FF FF FF }  // Malicious length field
        $netatalk_ea = "AFP_EA" ascii wide nocase
    condition:
        $netatalk_ea and #ea_header > 0
}

Sigma Rule

title: Netatalk EA Heap Over-Read Attempt
id: 8a3f2c1e-5d7b-4a9f-8c6d-2e1f3a4b5c6d
status: experimental
description: Detects potential exploitation of CVE-2026-44067 via malformed EA headers
author: Valters IT
logsource:
    product: netatalk
    service: afpd
detection:
    selection:
        EventID: 1001  # Example: AFP error event
        Message|contains: "EA parse error"
    condition: selection
falsepositives:
    - Legitimate large EA headers (rare)
level: high

Suricata Rule

alert tcp $HOME_NET 548 -> $EXTERNAL_NET any (msg:"CVE-2026-44067 Netatalk EA Heap Over-Read Attempt"; flow:to_server,established; content:"|00 00 00 00|"; depth:4; offset:0; content:"|FF FF FF FF|"; within:4; distance:0; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable AFP Service: If not required, stop and disable the Netatalk service (systemctl stop netatalk && systemctl disable netatalk).
  2. Restrict Access: Use firewall rules to limit AFP access to trusted IPs only (e.g., iptables -A INPUT -p tcp --dport 548 -s trusted_network -j ACCEPT).
  3. Monitor Logs: Enable verbose logging for AFP and monitor for EA-related errors.

Long-Term Fix:

  • Apply vendor patch when released (monitor Netatalk GitHub or mailing list).
  • Upgrade to a patched version (currently none available).
  • Consider migrating to alternative file sharing protocols (e.g., SMB/CIFS) if AFP is not critical.

Workaround:

  • Implement a custom wrapper or proxy that validates EA headers before passing to Netatalk (advanced).

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-44067/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.