Vulnerability Details CVE-2024-38440
Netatalk before 3.2.1 has an off-by-one error, and resultant heap-based buffer overflow and segmentation violation, because of incorrectly using FPLoginExt in BN_bin2bn in etc/uams/uams_dhx_pam.c. The original issue 1097 report stated: 'The latest version of Netatalk (v3.2.0) contains a security vulnerability. This vulnerability arises due to a lack of validation for the length field after parsing user-provided data, leading to an out-of-bounds heap write of one byte (\0). Under specific configurations, this can result in reading metadata of the next heap block, potentially causing a Denial of Service (DoS) under certain heap layouts or with ASAN enabled. ... The vulnerability is located in the FPLoginExt operation of Netatalk, in the BN_bin2bn function found in /etc/uams/uams_dhx_pam.c ... if (!(bn = BN_bin2bn((unsigned char *)ibuf, KEYSIZE, NULL))) ... threads ... [#0] Id 1, Name: "afpd", stopped 0x7ffff4304e58 in ?? (), reason: SIGSEGV ... [#0] 0x7ffff4304e58 mov BYTE PTR [r14+0x8], 0x0 ... mov rdx, QWORD PTR [rsp+0x18] ... afp_login_ext(obj=<optimized out>, ibuf=0x62d000010424 "", ibuflen=0xffffffffffff0015, rbuf=<optimized out>, rbuflen=<optimized out>) ... afp_over_dsi(obj=0x5555556154c0 <obj>).' 2.4.1 and 3.1.19 are also fixed versions.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.011
EPSS Ranking 76.4%
CVSS Severity
CVSS v3 Score 7.5
Products affected by CVE-2024-38440
-
cpe:2.3:a:netatalk:netatalk:2.0.0
-
cpe:2.3:a:netatalk:netatalk:2.0.1
-
cpe:2.3:a:netatalk:netatalk:2.0.2
-
cpe:2.3:a:netatalk:netatalk:2.0.3
-
cpe:2.3:a:netatalk:netatalk:2.0.4
-
cpe:2.3:a:netatalk:netatalk:2.0.5
-
cpe:2.3:a:netatalk:netatalk:2.1
-
cpe:2.3:a:netatalk:netatalk:2.1.1
-
cpe:2.3:a:netatalk:netatalk:2.1.2
-
cpe:2.3:a:netatalk:netatalk:2.1.3
-
cpe:2.3:a:netatalk:netatalk:2.1.4
-
cpe:2.3:a:netatalk:netatalk:2.1.5
-
cpe:2.3:a:netatalk:netatalk:2.1.6
-
cpe:2.3:a:netatalk:netatalk:2.2
-
cpe:2.3:a:netatalk:netatalk:2.2.1
-
cpe:2.3:a:netatalk:netatalk:2.2.10
-
cpe:2.3:a:netatalk:netatalk:2.2.2
-
cpe:2.3:a:netatalk:netatalk:2.2.3
-
cpe:2.3:a:netatalk:netatalk:2.2.4
-
cpe:2.3:a:netatalk:netatalk:2.2.5
-
cpe:2.3:a:netatalk:netatalk:2.2.6
-
cpe:2.3:a:netatalk:netatalk:2.2.7
-
cpe:2.3:a:netatalk:netatalk:2.2.7b
-
cpe:2.3:a:netatalk:netatalk:2.2.8
-
cpe:2.3:a:netatalk:netatalk:2.2.9
-
cpe:2.3:a:netatalk:netatalk:2.2.9b
-
cpe:2.3:a:netatalk:netatalk:3.0
-
cpe:2.3:a:netatalk:netatalk:3.0.1
-
cpe:2.3:a:netatalk:netatalk:3.0.2
-
cpe:2.3:a:netatalk:netatalk:3.0.3
-
cpe:2.3:a:netatalk:netatalk:3.0.4
-
cpe:2.3:a:netatalk:netatalk:3.0.5
-
cpe:2.3:a:netatalk:netatalk:3.0.6
-
cpe:2.3:a:netatalk:netatalk:3.0.7
-
cpe:2.3:a:netatalk:netatalk:3.0.8
-
cpe:2.3:a:netatalk:netatalk:3.1
-
cpe:2.3:a:netatalk:netatalk:3.1.1
-
cpe:2.3:a:netatalk:netatalk:3.1.10
-
cpe:2.3:a:netatalk:netatalk:3.1.11
-
cpe:2.3:a:netatalk:netatalk:3.1.12
-
cpe:2.3:a:netatalk:netatalk:3.1.13
-
cpe:2.3:a:netatalk:netatalk:3.1.14
-
cpe:2.3:a:netatalk:netatalk:3.1.15
-
cpe:2.3:a:netatalk:netatalk:3.1.16
-
cpe:2.3:a:netatalk:netatalk:3.1.17
-
cpe:2.3:a:netatalk:netatalk:3.1.2
-
cpe:2.3:a:netatalk:netatalk:3.1.3
-
cpe:2.3:a:netatalk:netatalk:3.1.4
-
cpe:2.3:a:netatalk:netatalk:3.1.5
-
cpe:2.3:a:netatalk:netatalk:3.1.6
-
cpe:2.3:a:netatalk:netatalk:3.1.7
-
cpe:2.3:a:netatalk:netatalk:3.1.8
-
cpe:2.3:a:netatalk:netatalk:3.1.9
-
cpe:2.3:a:netatalk:netatalk:3.2.0