CVE-2022-50668 in Linux
요약
\~에 의해 VulDB • 2026. 06. 11.
리눅스 커널에서 다음 취약점이 해결되었습니다.
ext4: mbcache 엔트리 손상으로 인한 데드락 수정
xattr 블록을 조작하는 동안 ext4_xattr_block_set() 내부에서 무한 루프에 빠져 데드락이 발생할 수 있습니다. 이 경우 mbcache에서 재사용할 xattr 블록을 계속 찾지만, 참조 카운트가 너무 커서 실제로는 재사용하지 못합니다. 이는 xattr 블록의 캐시 엔트리가 참조 카운트가 너무 큰 상태임에도 불구하고 재사용 가능(e_reusable 설정)으로 표시되기 때문에 발생합니다. 이러한 불일치가 발생하면 해당 비정상 상태가 영구적으로 유지되며, 이로 인해 ext4_xattr_block_set()이 무한히 재시도하게 됩니다.
이러한 일관성 없는 상태는 e_reusable 비트의 원자적이지 않은 업데이트로 인해 발생합니다. e_reusable은 비트 필드의 일부이며, 동일한 비트 필드 내에서 e_referenced 비트의 업데이트와 경쟁(race)하여 하나의 업데이트가 손실될 수 있습니다. 이 문제는 원자적 비트 연산(bitops)을 사용하여 해결합니다.
이 버그는 오랫동안 존재해 왔지만, 커밋 65f8b80053a1("ext4: xattr 블록 재사용 시 경쟁 조건 수정") 이후로 이를 유발하기가 *훨씬* 쉬워졌습니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.