🔍 CVE-2026-45699

7.5
CVSS Score
HIGH
2026-08-14
2026-09-18 20:09
✅ 완료

🇰🇷 한글 설명

Netatalk 3.1.19에서 4.4.2 버전 사이의 afpd 데몬 내 copydir() 함수에서 스택 기반 버퍼 오버플로 취약점이 발견되었습니다. 경로 생성 시 남은 버퍼 크기를 계산하는 과정에서 정수 언더플로가 발생하여, 경계 검사를 우회하고 스택 버퍼에 파일명을 복사할 수 있게 됩니다.

💡 쉬운 설명

파일을 복사하는 과정에서 계산 오류가 발생하여, 정해진 메모리 공간보다 더 많은 데이터를 강제로 집어넣을 수 있는 문제입니다. 이를 통해 공격자가 시스템을 마비시키거나 악성 코드를 실행할 위험이 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Netatalk versions 3.1.19 through 4.4.2

⚔️ 공격 벡터

AFP 공유 볼륨 내에서 장치 경계를 넘나드는 파일 작업 시 조작된 파일명을 이용한 공격

🛡️ 대응 방법

Netatalk 4.4.3 버전으로 업데이트하거나, 공유 볼륨 내의 하위 디렉토리가 다른 파일 시스템의 마운트 포인트가 되지 않도록 설정하십시오.

🔧 검증 코드

출력된 버전 번호가 3.1.19 이상 4.4.2 이하인지 확인하십시오.

Shell / Script
dpkg -l | grep netatalk 2>/dev/null | awk '{print $3}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Netatalk