🔍 CVE-2024-52296

6.5
CVSS Score
MEDIUM
2024-11-12
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

libosdp의 osdp_reply_name 함수에서 유효 범위 내의 정의되지 않은 reply id를 처리할 때 null 포인터 역참조가 발생하여 프로그램이 크래시됩니다. 이 버그는 보안 연결 없이도 원격에서 트리거될 수 있으며, 2.4.0에서 수정되었습니다.

💡 쉬운 설명

libosdp 라이브러리의 특정 함수에서 잘못된 입력값에 대해 메모리 접근 오류가 발생해 프로그램이 중단됩니다. 누구나 인증 없이 이 오류를 유발할 수 있습니다.

🇺🇸 원문 (English)

libosdp is an implementation of IEC 60839-11-5 OSDP (Open Supervised Device Protocol) and provides a C library with support for C++, Rust and Python3. At ospd_common.c, on the osdp_reply_name function, any reply id between REPLY_ACK and REPLY_XRD is valid, but names array do not declare all of the range. On a case of an undefined reply id within the range, name will be null (name = names[reply_id - REPLY_ACK];). Null name will casue a crash on next line: if (name[0] == '\0') as null[0] is invalid. As this logic is not limited to a secure connection, attacker may trigger this vulnerability without any prior knowledge. This issue is fixed in 2.4.0.

📍 영향받는 시스템

libosdp < 2.4.0 (모든 버전)

⚔️ 공격 벡터

OSDP 프로토콜을 통해 정의되지 않은 reply id 값을 전송하여 null 포인터 역참조 유발

🛡️ 대응 방법

libosdp를 2.4.0 이상으로 업그레이드

🔧 검증 코드

설치된 libosdp의 버전이 2.4.0 이상인지 확인하여 그 미만이면 업그레이드 필요

Shell / Script
dpkg -l libosdp 2>/dev/null | grep -E 'libosdp'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python