{"id":"CVE-2024-38440","details":"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=\u003coptimized out\u003e, ibuf=0x62d000010424 \"\", ibuflen=0xffffffffffff0015, rbuf=\u003coptimized out\u003e, rbuflen=\u003coptimized out\u003e) ... afp_over_dsi(obj=0x5555556154c0 \u003cobj\u003e).' 2.4.1 and 3.1.19 are also fixed versions.","modified":"2026-04-16T04:31:27.314520077Z","published":"2024-06-16T13:15:53.147Z","related":["GHSA-mxx4-9fhm-r3w5","SUSE-SU-2024:2301-1"],"references":[{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2024/11/msg00026.html"},{"type":"WEB","url":"https://github.com/Netatalk/netatalk/blob/90d91a9ac9a7d6132ab7620d31c8c23400949206/etc/uams/uams_dhx_pam.c#L199-L200"},{"type":"ADVISORY","url":"https://netatalk.io/security/CVE-2024-38440"},{"type":"REPORT","url":"https://github.com/Netatalk/netatalk/issues/1097"},{"type":"EVIDENCE","url":"https://github.com/Netatalk/netatalk/security/advisories/GHSA-mxx4-9fhm-r3w5"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/netatalk/netatalk","events":[{"introduced":"0"},{"fixed":"1f9fce6aca3683a8030d23ec2de1aa6051f8ebd7"},{"introduced":"0"},{"fixed":"50b4fdda78aa1aec1c6bfe353d73dc6b17850649"},{"introduced":"0"},{"last_affected":"90d91a9ac9a7d6132ab7620d31c8c23400949206"}],"database_specific":{"versions":[{"introduced":"2.0.0"},{"fixed":"2.4.1"},{"introduced":"3.0"},{"fixed":"3.1.19"},{"introduced":"0"},{"last_affected":"3.2.0"}]}}],"versions":["netatalk-2-2-10","netatalk-2-2-6","netatalk-2-2-7","netatalk-2-2-8","netatalk-2-2-9","netatalk-2-3-0","netatalk-2-3-1","netatalk-2-3-2","netatalk-2-4-0","netatalk-3-1-10","netatalk-3-1-11","netatalk-3-1-12","netatalk-3-1-13","netatalk-3-1-14","netatalk-3-1-15","netatalk-3-1-16","netatalk-3-1-17","netatalk-3-1-18","netatalk-3-1-4","netatalk-3-1-5","netatalk-3-1-6","netatalk-3-1-7","netatalk-3-1-8","netatalk-3-1-9","netatalk-3-2-0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38440.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}