🔍 CVE-2026-118446

6.9
CVSS Score
MEDIUM
2026-11-03
2026-11-03 19:17
✅ 완료

🇰🇷 한글 설명

pybddisasm Python 바인딩에서 INSTRUX 객체의 배열형 멤버(ND_OPERAND 배열 포함)에 해제 후 사용(use-after-free) 취약점이 존재합니다. 이 배열은 부모 객체가 소유한 메모리를 참조하는 Python 리스트로 노출되며, 리스트나 요소를 보유한다고 해서 부모 메모리가 유지되지 않습니다. 따라서 부모 객체가 해제된 뒤 요소에 접근하면 해제된 메모리를 읽게 되어 프로세스 메모리 노출 또는 Python 프로세스 충돌이 발생할 수 있습니다. 이 패키지는 더 이상 유지보수되지 않습니다.

💡 쉬운 설명

프로그램이 이미 지워진 데이터를 다시 읽으려 하면서 생기는 결함입니다. 이로 인해 메모리 내용이 새어 나가거나 프로그램이 갑자기 종료될 수 있습니다.

🇺🇸 원문 (English)

A use-after-free vulnerability in the pybddisasm Python bindings affects array-valued members of INSTRUX objects, including ND_OPERAND arrays. These arrays are exposed as Python lists whose elements reference memory owned by the parent INSTRUX object. Retaining a list or an element does not keep the parent allocation alive. Accessing an element after the parent INSTRUX object has been freed therefore accesses freed memory. Depending on how the element is used and whether the freed allocation has been reused, this may expose process memory or cause the Python process to crash. Exploitation requires an application to retain and subsequently access an array element after the parent object has been freed. The pybddisasm package is no longer maintained.

📍 영향받는 시스템

pybddisasm Python 바인딩 (버전 정보 미상, 현재 유지보수 중단)

⚔️ 공격 벡터

애플리케이션이 INSTRUX 객체 해제 후에도 배열 요소를 보유·접근하는 상황을 유도하여 해제된 메모리를 읽게 함

🛡️ 대응 방법

pybddisasm 사용을 중단하고 유지보수되는 대체 디스어셈블러 라이브러리로 이전하거나, 해제 후 배열 요소 접근을 제거하도록 코드를 수정

🔧 검증 코드

설치된 경우 Name과 Version이 출력되며, 출력된 버전이 취약 범위에 해당하는지 공식 권고와 대조하고, 출력이 없으면 패키지가 설치되지 않은 것입니다.

Shell / Script
pip show pybddisasm 2>/dev/null | grep -E 'Name|Version'

📊 CVSS Vector String

CVSS Vector
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N

💻 영향받는 소프트웨어

Python