Every CVE Search/ Get API key

CVE-2026-45699

Netatalk has Integer Underflow → Stack Buffer Overflow in copydir()

7.5 HighFix available

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.45%Up 0.1 points since Aug 15, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

Netatalk has Integer Underflow → Stack Buffer Overflow in copydir()

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Record
CVE-2026-45699
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-191
Updated
2026-11-02
EUVDEUVD-2026-58790 7.5

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Record
EUVD-2026-58790
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
NVD 7.5

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Record
CVE-2026-45699
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-191
Updated
2026-11-02
OSVALPINE-CVE-2026-45699 7.5

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Record
ALPINE-CVE-2026-45699
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-03
OSV 7.5

Netatalk has Integer Underflow → Stack Buffer Overflow in copydir()

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Record
CVE-2026-45699
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-191
Updated
2026-11-02
OSVDEBIAN-CVE-2026-45699 7.5

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Record
DEBIAN-CVE-2026-45699
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-45699 7.5

Netatalk is a Free and Open Source file server suite for Unix-like operating systems. In versions 3.1.19 through 4.4.2, a stack-based buffer overflow exists in the copydir() function of Netatalk's afpd daemon due to an integer underflow in the calculation of the remaining buffer size used for path construction. copydir() is a utility function called when a file operation crosses a device boundary inside an AFP shared volume, which the standard library's renameat() cannot handle. The function attempts to track available buffer space using srem and drem for source and destination paths. Incorrect arithmetic causes both srem and drem to underflow to SIZE_MAX. Consequently, boundary checks against strlen(de->d_name) always pass, allowing strcpy() to append filenames into nearly full stack buffers. Version 4.4.3 patches the issue. As a workaround, configure each AFP shared volume to be structured as a single file system, in other words no subdirectory of a shared volume should be a mount point for a different file system.

Record
UBUNTU-CVE-2026-45699
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
netatalk
Alpine:v3.24
before 4.4.3-r0
4.4.3-r0
netatalk
Debian:13
before 4.2.3~ds-1+deb13u2, plus listed versions
4.2.3~ds-14.2.3~ds-1+deb13u1
4.2.3~ds-1+deb13u2
netatalk
Debian:14
before 4.4.3~ds-1, plus listed versions
4.2.3~ds-14.2.3~ds-24.2.3~ds-2.14.4.1~ds-14.4.2~ds-1
4.4.3~ds-1
netatalk
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
2.2.2-1ubuntu12.2.2-1ubuntu22.2.2-1ubuntu2.22.2.2-1ubuntu2.2+esm12.2.2-1ubuntu2.2+esm22.2.2-1ubuntu2.2+esm32.2.2-1ubuntu2.2+esm4
None known
netatalk
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
2.2.5-12.2.5-1ubuntu0.22.2.5-1ubuntu0.2+esm12.2.5-1ubuntu0.2+esm22.2.5-1ubuntu0.2+esm32.2.5-1ubuntu0.2+esm4
None known
netatalk
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
2.2.6-12.2.6-1ubuntu0.18.04.22.2.6-1ubuntu0.18.04.2+esm12.2.6-1ubuntu0.18.04.2+esm22.2.6-1ubuntu0.18.04.2+esm32.2.6-1ubuntu0.18.04.2+esm4
None known
netatalk
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
3.1.12~ds-33.1.12~ds-43.1.12~ds-4ubuntu0.20.04.13.1.12~ds-4ubuntu0.20.04.33.1.12~ds-4ubuntu0.20.04.3+esm13.1.12~ds-4ubuntu0.20.04.43.1.12~ds-4ubuntu0.20.04.4+esm13.1.12~ds-4ubuntu0.20.04.4+esm2
None known
netatalk
Ubuntu:Pro:22.04:LTS
All versions, plus listed versions
3.1.12~ds-93.1.12~ds-9build13.1.12~ds-9ubuntu0.22.04.13.1.12~ds-9ubuntu0.22.04.33.1.12~ds-9ubuntu0.22.04.3+esm13.1.12~ds-9ubuntu0.22.04.43.1.12~ds-9ubuntu0.22.04.4+esm13.1.12~ds-9ubuntu0.22.04.4+esm2
None known
netatalk
Ubuntu:Pro:24.04:LTS
All versions, plus listed versions
3.1.15~ds-1ubuntu13.1.18~ds-13.1.18~ds-1build23.1.18~ds-1build43.1.18~ds-1ubuntu0.1~esm13.1.18~ds-1ubuntu0.1~esm23.1.18~ds-1ubuntu0.1~esm3
None known
netatalk
Ubuntu:25.10
All versions, plus listed versions
4.1.2~ds-44.2.1~ds-14.2.3~ds-1
None known
netatalk
Ubuntu:26.10
All versions, plus listed versions
4.2.3~ds-2.14.4.3~ds-14.5.0~ds-34.5.1~ds-1
None known
netatalk
Ubuntu:26.04:LTS
All versions, plus listed versions
4.2.3~ds-14.2.3~ds-24.2.3~ds-2.14.2.3~ds-2.1ubuntu0.14.2.3~ds-2.1ubuntu0.2
None known

History

History
RecordedChangedSources
affected, aliases, referencesOSV
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-45699 is a high vulnerability (CVSS 7.5) in Netatalk, published August 14, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.45%, the 39th percentile. Fixed in netatalk 4.4.3-r0.

References

MoveEnter Open