🇰🇷 한글 설명
Linux 커널의 nfsd 구성 요소에서 atomic_open이 파일을 실제로 열지 않고도 성공을 반환할 수 있는 취약점이 발견되었습니다. 이로 인해 dentry_create()가 열리지 않은 파일을 반환할 가능성이 있으며, nfsd가 이를 적절히 검증하지 않을 경우 문제가 발생할 수 있습니다.
💡 쉬운 설명
파일을 열려고 시도했지만 실제로는 열리지 않은 상태임에도 불구하고, 시스템이 파일이 정상적으로 열렸다고 착각하여 작업을 진행할 수 있는 오류입니다. 이로 인해 파일 처리 과정에서 예상치 못한 동작이나 보안 문제가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nfsd: ensure nfsd_file_do_acquire() does not use a non-opened file
->atomic_open is permitted to return success without actually opening
the file. It indicates this by calling finish_no_open().
This means dentry_create() can return a file which hasn't been opened.
This is extremely unlikely as ->atomic_open handlers typically
use finish_no_open() only for already existing files, and dentry_create()
isn't called in that case, and the parent being locked should prevent
races.
However out of an abundance of caution it seems wise to teach nfsd to
only use the file returned by dentry_create() if FMODE_OPENED is set,
indicating that it has in fact been opened.
📍 영향받는 시스템
Linux kernel (nfsd 모듈을 사용하는 시스템)
⚔️ 공격 벡터
특수하게 조작된 NFS 요청을 통해 파일이 열리지 않은 상태에서 파일 작업이 수행되도록 유도
🛡️ 대응 방법
nfsd가 dentry_create()로 반환된 파일의 FMODE_OPENED 플래그를 확인하도록 커널을 최신 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인