🔍 CVE-2026-98125

5.5
CVSS Score
MEDIUM
2026-09-25
2026-10-22 16:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 SMB 클라이언트에서 insert/collapse range 작업 시 페이지 캐시가 제대로 무효화되지 않는 취약점입니다. 오프셋이나 파일 끝(EOF)이 페이지 경계와 일치하지 않을 경우, 경계 페이지에 오래된 데이터(stale data)가 남아 있어 잘못된 데이터를 반환할 수 있습니다.

💡 쉬운 설명

파일의 일부를 수정하거나 합치는 과정에서 컴퓨터가 예전 데이터를 기억하고 있어, 실제 파일 내용과 다른 잘못된 정보를 보여줄 수 있는 문제입니다. 이는 데이터의 무결성을 해칠 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: smb/client: fix stale page cache in insert/collapse range smb3_insert_range() and smb3_collapse_range() use truncate_pagecache_range() to invalidate the affected page cache. However, if off or old_eof is not page-aligned, the boundary pages are only partially zeroed and remain uptodate. As a result, the client may return stale data after a successful insert/collapse range operation. For example, with 4K pages: page 0 page 1 page 2 0------4K 4K------8K 8K------12K ^ ^ off=2K old_eof=10K Page 1 is removed from the page cache, while the boundary pages are only partially zeroed. After COPYCHUNK moves the data on the server, these cached pages may still return stale data. This can be reproduced on a CIFS mount: bash -c ' FILE=/mnt/scratch/repro # Use a 6 KiB file so EOF is not page-aligned. dd if=/dev/urandom of=/tmp/src bs=1K count=6 status=none # Expected: a 4 KiB hole followed by the original data. rm -f /tmp/expected truncate -s 4K /tmp/expected cat /tmp/src >> /tmp/expected cp /tmp/src "$FILE" # Prime the page cache before moving data on the server. cat "$FILE" > /dev/null fallocate --insert-range -o 0 -l 4K "$FILE" if cmp -s /tmp/expected "$FILE"; then echo "readback: OK" else echo "readback: STALE DATA" fi ' Fix this by writing back dirty data and discarding the page cache from the start of the page containing off to EOF before moving data on the server.

📍 영향받는 시스템

Linux kernel (SMB/client module 사용 시스템)

⚔️ 공격 벡터

로컬 또는 네트워크를 통해 SMB/CIFS 마운트된 파일에 대해 특정 범위의 insert/collapse range 작업을 수행하여 잘못된 데이터를 읽도록 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 smb3_insert_range 및 smb3_collapse_range 함수를 수정해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel