🇰🇷 한글 설명
Linux 커널의 Ceph 클라이언트에서 ceph_zero_partial_object() 함수가 OSD 쓰기 작업에 스냅샷 컨텍스트를 제공하지 않아 발생하는 문제입니다. 이로 인해 스냅샷 데이터가 원본과 달라지는 데이터 불일치가 발생할 수 있습니다.
💡 쉬운 설명
파일의 일부를 0으로 지우는 작업을 할 때 스냅샷 정보가 제대로 전달되지 않아, 스냅샷에 저장된 데이터가 변경될 수 있습니다. 그 결과 과거 시점의 백업 데이터가 손상될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ceph: supply snapshot context in ceph_zero_partial_object()
The ceph_zero_partial_object function was missing proper snapshot
context for its OSD write operations, which could lead to data
inconsistencies in snapshots.
Reproducer:
../src/vstart.sh --new -x --localhost --bluestore
./bin/ceph auth caps client.fs_a mds 'allow rwps fsname=a' mon 'allow r fsname=a' osd 'allow rw tag cephfs data=a'
mount -t ceph
[email protected]=/ /mnt/mycephfs/ -o conf=./ceph.conf
dd if=/dev/urandom of=/mnt/mycephfs/foo bs=64K count=1
mkdir /mnt/mycephfs/.snap/snap1
md5sum /mnt/mycephfs/.snap/snap1/foo
fallocate -p -o 0 -l 4096 /mnt/mycephfs/foo
echo 3 > /proc/sys/vm/drop/caches
md5sum /mnt/mycephfs/.snap/snap1/foo # get different md5sum!!
📍 영향받는 시스템
Ceph 클라이언트 기능을 사용하는 Linux 커널 (수정 커밋 이전 버전)
⚔️ 공격 벡터
별도의 원격 공격 경로 없이, 스냅샷이 존재하는 CephFS 파일에 대해 부분 제로화(fallocate punch hole) 작업을 수행할 때 발생하는 데이터 불일치 문제입니다.
🛡️ 대응 방법
패치된 Linux 커널 버전으로 업데이트하고, 배포판 보안 권고에 따라 커널을 재부팅하십시오.
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지에서 CVE-2026-43273 수정이 포함된 버전과 비교하여, 같거나 이후 버전이면 패치된 것이고 이전 버전이면 업데이트가 필요합니다.