🔍 CVE-2026-32147

4.3
CVSS Score
MEDIUM
2026-04-21
2026-07-24 15:17
✅ 완료

🇰🇷 한글 설명

Erlang OTP ssh 모듈의 ssh_sftpd에서 경로 제한 미흡으로 인한 경로 탐색(Path Traversal) 취약점이 발견되었습니다. 인증된 SFTP 사용자가 chroot 디렉토리를 벗어나 파일 속성을 수정할 수 있으며, SSH 데몬이 root 권한으로 실행될 경우 권한 상승으로 이어질 수 있습니다.

💡 쉬운 설명

SFTP 사용자가 허용된 폴더를 벗어나 서버의 다른 중요한 파일들의 설정(권한, 소유자 등)을 마음대로 바꿀 수 있는 문제입니다. 이를 악용하면 관리자 권한을 탈취할 수도 있어 위험합니다.

🇺🇸 원문 (English)

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Erlang OTP ssh (ssh_sftpd module) allows an authenticated SFTP user to modify file attributes outside the configured chroot directory. The SFTP daemon (ssh_sftpd) stores the raw, user-supplied path in file handles instead of the chroot-resolved path. When SSH_FXP_FSETSTAT is issued on such a handle, file attributes (permissions, ownership, timestamps) are modified on the real filesystem path, bypassing the root directory boundary entirely. Any authenticated SFTP user on a server configured with the root option can modify file attributes of files outside the intended chroot boundary. The prerequisite is that a target file must exist on the real filesystem at the same relative path. Note that this vulnerability only allows modification of file attributes; file contents cannot be read or altered through this attack vector. If the SSH daemon runs as root, this enables direct privilege escalation: an attacker can set the setuid bit on any binary, change ownership of sensitive files, or make system configuration world-writable. This vulnerability is associated with program files lib/ssh/src/ssh_sftpd.erl and program routines ssh_sftpd:do_open/4 and ssh_sftpd:handle_op/4. This issue affects OTP from OTP 17.0 before OTP 28.4.3, OTP 27.3.4.11 and OTP 26.2.5.20, corresponding to ssh from 3.0.1 before 5.5.3, 5.2.11.7 and 5.1.4.15.

📍 영향받는 시스템

Erlang OTP 17.0 미만(28.4.3 미만 포함), 27.3.4.11 미만, 26.2.5.20 미만 및 관련 ssh 버전

⚔️ 공격 벡터

인증된 SFTP 사용자가 SSH_FXP_FSETSTAT 명령을 사용하여 chroot 경계를 벗어난 파일의 속성을 조작

🛡️ 대응 방법

Erlang OTP를 최신 보안 패치 버전(OTP 28.4.3, 27.3.4.11, 26.2.5.20 이상)으로 업데이트

🔧 검증 코드

출력된 OTP 버전이 취약한 버전 범위에 포함되는지 확인

Shell / Script
erl -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().' -noshell

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Spring AI Vector Store