🇰🇷 한글 설명
libgphoto2 라이브러리의 Sony DPD 처리 과정에서 경계 외 읽기(Out-of-bounds read) 취약점이 발견되었습니다. 특정 함수에서 데이터 버퍼의 남은 크기를 검증하지 않고 2바이트 열거형 값을 읽어 들임으로써 발생합니다.
💡 쉬운 설명
카메라를 제어하는 프로그램이 데이터를 읽을 때, 데이터가 충분한지 확인하지 않고 읽으려다 발생하는 오류입니다. 이로 인해 프로그램이 비정상적으로 종료되거나 시스템 정보가 유출될 수 있습니다.
🇺🇸 원문 (English)
libgphoto2 is a camera access and control library. Versions up to and including 2.5.33 have an out-of-bounds read in the PTP_DPFF_Enumeration case of `ptp_unpack_Sony_DPD()` in `camlibs/ptp2/ptp-pack.c` (line 856). The function reads a 2-byte enumeration count N via `dtoh16o(data, *poffset)` without verifying that 2 bytes remain in the buffer. The standard `ptp_unpack_DPD()` at line 704 has this exact check, confirming the Sony variant omitted it by oversight. Commit 3b9f9696be76ae51dca983d9dd8ce586a2561845 fixes the issue.
📍 영향받는 시스템
libgphoto2 2.5.33 및 그 이하 버전
⚔️ 공격 벡터
조작된 PTP(Picture Transfer Protocol) 데이터를 전송하여 라이브러리의 메모리 읽기 오류 유도
🛡️ 대응 방법
libgphoto2를 최신 버전(커밋 3b9f9696 패치 적용 버전)으로 업데이트
🔧 검증 코드
출력된 버전이 2.5.33 이하인지 확인하여 취약 여부를 판단합니다.
dpkg -l libgphoto2 2>/dev/null | grep -E 'libgphoto2'
📊 CVSS Vector String
CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
💻 영향받는 소프트웨어
IBM Security Verify Access