🇰🇷 한글 설명
공격자가 제어하는 NAND 플래시 이미지를 마운트할 때 LevelX의 NAND 플래시 변환 계층 메타데이터 파서에서 경계 검사가 없는 힙 쓰기(out-of-bounds write) 취약점이 발생합니다. 이로 인해 드라이버 함수 포인터가 덮어씌워져 공격자가 실행 흐름을 완전히 장악할 수 있으며, 두 건의 경계 외 읽기(OOB read) 취약점도 동반됩니다.
💡 쉬운 설명
조작된 메모리 파일을 시스템에 연결하면 컴퓨터의 중요한 명령 경로가 공격자의 명령으로 바뀔 수 있는 위험한 오류입니다. AI가 생성한 코드의 검증 미흡으로 인해 발생한 보안 결함입니다.
🇺🇸 원문 (English)
Mounting an attacker-controlled NAND flash image (`lx_nand_flash_open()`) triggers an unbounded out-of-bounds heap **write** in LevelX's NAND flash-translation-layer metadata parser that overwrites a driver function pointer in the control block, giving a demonstrated control-flow hijack — RIP set to a full 8-byte attacker-chosen value (register-verified). Two accompanying OOB reads. All reproduced verbatim under ASan at HEAD `9f1cfdc`. (The affected metadata-parser header states "Some portions generated by Copilot (Sonnet 4.6)" — an AI-generated parser with an unchecked on-flash count.)
📍 영향받는 시스템
LevelX NAND flash-translation-layer (commit 9f1cfdc 포함 버전)
⚔️ 공격 벡터
공격자가 조작한 NAND 플래시 이미지 마운트 (lx_nand_flash_open)
🛡️ 대응 방법
메타데이터 파서의 경계 검증 로직을 수정하고, AI 생성 코드에 대한 보안 검토 및 패치를 적용하십시오.
🔧 검증 코드
명령어 결과가 'Vulnerable'이면 취약한 커밋 버전이 포함된 상태이며, 'Not Vulnerable'이면 해당 버전이 아닙니다.
git log -1 --format=%H | grep -q '9f1cfdc' && echo 'Vulnerable' || echo 'Not Vulnerable'