🇰🇷 한글 설명
Linux 커널의 netfs 구성 요소에서 읽기 간격(read-gaps) 처리 시 데이터가 0으로 초기화되지 않아 오래된 데이터가 다시 기록될 수 있는 취약점이 발견되었습니다. 스트리밍 쓰기 작업 중 서버 측에서 짧은 응답이나 EOF가 발생할 경우, 잔류하는 folio 콘텐츠가 나중에 디스크로 다시 쓰여질 위험이 있습니다.
💡 쉬운 설명
데이터를 읽어오는 과정에서 빈 공간이 생겼을 때, 그 공간을 깨끗하게 비우지 않아 이전에 사용했던 엉뚱한 데이터가 저장될 수 있는 문제입니다. 이는 보안상 민감한 정보가 의도치 않게 파일에 기록될 수 있음을 의미합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfs: zero gaps in read-gaps folio to avoid writing back stale data
netfs_read_gaps() leaves gaps around a streaming write's dirty region
unread on the server side, so a short/EOF response there left stale
folio content that later got written back.
Zero it after the read completes, not before: netfs_wait_for_read()
returns rreq->transferred once ret >= 0, so build an iterator over the
same bvec array the read used, advance past ret, and zero the rest.
The dirty region already maps to sink pages in that array rather than
the real folio, so this can't touch it, and only the actual shortfall
gets zeroed instead of the whole gap upfront.
📍 영향받는 시스템
Linux kernel (netfs 구성 요소가 포함된 버전)
⚔️ 공격 벡터
네트워크 스트리밍 쓰기 과정에서 의도적으로 짧은 응답이나 EOF를 전송하여 잔류 데이터를 유도하는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 netfs_read_gaps()의 zeroing 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.