🇰🇷 한글 설명
Linux 커널의 MTD SPI-NAND 드라이버에서, 장치 트리(DT)에 nand-no-ecc-engine이 설정된 경우 ECC 엔진이 NULL인 상태로 이를 역참조하여 커널 oops가 발생하는 NULL 포인터 역참조 문제가 수정되었습니다. 수정은 NAND 코어에 nand_ecc_is_pipelined() 헬퍼를 추가해 NULL 검사를 포함시키는 방식입니다.
💡 쉬운 설명
일부 임베디드 저장장치를 특정 설정으로 연결하면 리눅스 커널이 갑자기 멈추는 버그입니다. 이번 업데이트로 해당 설정에서도 안전하게 동작하도록 고쳐졌습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
mtd: spinand: fix NULL pointer dereference with no ECC engine
When "nand-no-ecc-engine" is set in DT, nanddev_get_ecc_engine() takes
the NAND_ECC_ENGINE_TYPE_NONE path and returns success while leaving
nand->ecc.engine NULL. The SPI-NAND code nevertheless dereferences it
unconditionally to test for a pipelined engine, so probing such a
device oopses immediately.
Rather than open-coding the test three times, add a
nand_ecc_is_pipelined() helper to the NAND core that folds the NULL
check into the integration comparison, and use it everywhere. Future
callers then cannot reintroduce the problem.
📍 영향받는 시스템
수정 이전의 Linux 커널 (MTD SPI-NAND 드라이버, nand-no-ecc-engine 설정 장치) — 정확한 버전 범위는 확인 필요
⚔️ 공격 벡터
원격 공격 경로는 명시되지 않음; 장치 트리 설정이 있는 장치를 부팅·프로빙할 때 커널 oops를 유발하는 로컬 또는 설정 기반 결함
🛡️ 대응 방법
커널을 해당 수정이 포함된 최신 안정 버전 또는 배포판 보안 업데이트로 업그레이드
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지 또는 커널 git 기준 수정 포함 여부와 비교하여 최신 패치 적용 여부를 판단