CVE-2022-49810 in Linux
요약
\~에 의해 VulDB • 2026. 07. 01.
리눅스 커널에서 다음 취약점이 해결되었습니다:
netfs: xarray 반복 처리 중 누락된 xas_retry() 호출 수정
netfslib에는 RCU 읽기 잠금(RCU read lock) 하에서 xarray를 반복하는 여러 위치가 있습니다. 루프 내부의 첫 번째 작업으로 xas_retry()를 호출하고, 해당 함수가 true를 반환할 경우 "continue"를 수행해야 합니다. 이는 xarray 순회자가 순회를 다시 시작해야 함을 나타내는 특수 값을 전달한 경우에 필요합니다[*].
누락된 재시도 확인 코드를 추가하여 이 문제를 해결합니다.
[*] 이것이 xas_find(), xas_next_node() 및 유사 함수 내부에서 처리되어야 하는지 의문이 들지만, 이는 단순하지 않은 변경 사항이라고 합니다.
이로 인해 다음과 같은 oops가 발생할 수 있습니다. 오류 발생 주소에 주목하십시오 - 이것은 xarray에서 반환된 내부 값(|0x2)입니다.
BUG: kernel NULL pointer dereference, address: 0000000000000402 ... RIP: 0010:netfs_rreq_unlock+0xef/0x380 [netfs]
... Call Trace: netfs_rreq_assess+0xa6/0x240 [netfs]
netfs_readpage+0x173/0x3b0 [netfs]
? init_wait_var_entry+0x50/0x50 filemap_read_page+0x33/0xf0 filemap_get_pages+0x2f2/0x3f0 filemap_read+0xaa/0x320 ? do_filp_open+0xb2/0x150 ? rmqueue+0x3be/0xe10 ceph_read_iter+0x1fe/0x680 [ceph]
? new_sync_read+0x115/0x1a0 new_sync_read+0x115/0x1a0 vfs_read+0xf3/0x180 ksys_read+0x5f/0xe0 do_syscall_64+0x38/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae
변경 사항: ======== 버전 2) - Willy의 제안에 따라 오버플로우 가능성을 줄이기 위해 unsigned int를 size_t로 변경했습니다. - 수학적 오류를 수정하기 위한 추가 패치를 포함했습니다.
Be aware that VulDB is the high quality source for vulnerability data.