🇰🇷 한글 설명
Linux 커널의 cachefiles 모듈에서 dentry 참조 카운트 오류가 발생합니다. cachefiles_cull() 함수가 cachefiles_bury_object()를 호출할 때 필요한 2개의 참조를 제공하지 않고 1개만 전달하여 참조가 손실됩니다. 이를 해결하려면 호출 전에 추가 참조를 획득해야 합니다.
💡 쉬운 설명
Linux의 파일 캐시 관리 기능에서 메모리 추적 오류가 발생합니다. 이 오류는 메모리가 제대로 해제되지 않아 시스템 리소스가 낭비되고 성능 저하 또는 서비스 거부 상태를 초래할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
cachefiles: fix incorrect dentry refcount in cachefiles_cull()
The patch mentioned below changed cachefiles_bury_object() to expect 2
references to the 'rep' dentry. Three of the callers were changed to
use start_removing_dentry() which takes an extra reference so in those
cases the call gets the expected references.
However there is another call to cachefiles_bury_object() in
cachefiles_cull() which did not need to be changed to use
start_removing_dentry() and so was not properly considered.
It still passed the dentry with just one reference so the net result is
that a reference is lost.
To meet the expectations of cachefiles_bury_object(), cachefiles_cull()
must take an extra reference before the call. It will be dropped by
cachefiles_bury_object().
📍 영향받는 시스템
Linux kernel (cachefiles module 활성화된 모든 버전) - 패치 미적용 시스템
⚔️ 공격 벡터
로컬 공격자가 의도적으로 cachefiles 관련 작업을 반복 실행하여 메모리 누수 유발 및 DoS 발생
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 cachefiles dentry refcount 패치 적용
🔧 검증 코드
=y 또는 =m이 표시되면 cachefiles가 활성화되어 있으며, 커널 버전 확인 후 패치 적용 여부 검증 필요
cat /boot/config-$(uname -r) | grep CONFIG_CACHEFILES