🇰🇷 한글 설명
Linux 커널의 JFS 파일 시스템 트랜잭션 관리자에서 TxBlock[0]의 대기 큐(waitqueue)가 초기화되지 않는 취약점이 발견되었습니다. 읽기 전용 파일 시스템에서 txEnd(0)가 호출될 때 초기화되지 않은 메모리에 접근하여 시스템 충돌(Crash)을 유발할 수 있습니다.
💡 쉬운 설명
파일 시스템이 읽기 전용 모드일 때, 시스템이 준비되지 않은 메모리 영역을 건드려 컴퓨터가 갑자기 멈추거나 꺼질 수 있는 문제입니다. 초기화 과정에서 첫 번째 항목을 빼먹어서 발생하는 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
jfs: fix uninitialized waitqueue in transaction manager
The transaction manager initialization in txInit() was not properly
initializing TxBlock[0].waitor waitqueue, causing a crash when
txEnd(0) is called on read-only filesystems.
When a filesystem is mounted read-only, txBegin() returns tid=0 to
indicate no transaction. However, txEnd(0) still gets called and
tries to access TxBlock[0].waitor via tid_to_tblock(0), but this
waitqueue was never initialized because the initialization loop
started at index 1 instead of 0.
This causes a 'non-static key' lockdep warning and system crash:
INFO: trying to register non-static key in txEnd
Fix by ensuring all transaction blocks including TxBlock[0] have
their waitqueues properly initialized during txInit().
📍 영향받는 시스템
JFS(Journaled File System)를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
읽기 전용으로 마운트된 JFS 파일 시스템에서 특정 트랜잭션 종료 동작을 유도하여 시스템 충돌 유발
🛡️ 대응 방법
TxBlock[0]의 대기 큐가 올바르게 초기화되도록 수정된 최신 Linux 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 패치된 최신 버전인지 확인합니다.