CVE-2026-64296 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 25.

리눅스 커널에서 다음 취약점이 해결되었습니다:

exfat: exfat_find_dir_entry() 내에서 uniname 포인터 전진 범위 제한

exfat_find_dir_entry() 함수에서는 각 TYPE_EXTEND(파일 이름) 엔트리가 출력 포인터를 고정된 양만큼 전진시키지만, 루프 조건문은 누적된 파일 이름 길이만 추적합니다.

```c if (++order == 2) uniname = p_uniname->name; else uniname += EXFAT_FILE_NAME_LEN; len = exfat_extract_uni_name(ep, entry_uniname); name_len += len; unichar = *(uniname+len); *(uniname+len) = 0x0; ```

`uniname`은 이름 엔트리마다 `EXFAT_FILE_NAME_LEN`(15)만큼 증가하지만, `name_len`은 실제로 추출된 길이만큼만 증가합니다. 파일 이름 조각에 조기 NUL 문자가 포함된 경우 실제 길이는 더 짧아집니다. 유일한 보호 장치는 `name_len >= MAX_NAME_LENGTH`이므로, 많은 수의 짧은 이름 조각으로 구성된 악성 디렉토리는 `name_len`이 작은 상태를 유지한 채로 `uniname` 포인터가 `p_uniname->name[MAX_NAME_LENGTH + 3]` 버퍼를 크게 벗어나게 만듭니다. 이로 인해 `*(uniname+len)` 지점에서 경계 밖 읽기 및 쓰기(out-of-bounds read and write) 오류가 발생합니다.

형제 추출 함수인 `exfat_get_uniname_from_ext_entry()`는 이미 짧은 조각에서 정지하도록 구현되어 있습니다(커밋 d42334578eba("exfat: check if filename entries exceeds max filename length")에 추가된 동시 실행 검사 `len != EXFAT_FILE_NAME_LEN` 보호 장치). 그러나 `exfat_find_dir_entry()`에는 이에 상응하는 조치가 적용되지 않았습니다. 출력 포인터를 생성하기 전에 엔트리별 쓰기 오프셋을 카운트로 추적하고, 해당 오프셋 또는 추출된 길이를 더한 값이 `MAX_NAME_LENGTH`를 초과할 경우 조각을 거부하도록 수정되었습니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383091

EPSS

0.00211

활동

낮음

출처

Might our Artificial Intelligence support you?

Check our Alexa App!