🔍 CVE-2021-47066

7.1
CVSS Score
HIGH
2024-02-29
2026-08-04 10:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 async_xor 기능에서 목적지 페이지를 드롭할 때 소스 오프셋을 제대로 증가시키지 않아 발생하는 취약점입니다. 이로 인해 XOR 계산 값이 잘못되어 데이터가 손상될 수 있으며, 특히 RAID 구성 시 파일 시스템 마운트 실패를 유발할 수 있습니다.

💡 쉬운 설명

데이터를 안전하게 저장하기 위해 사용하는 계산 방식에 오류가 있어, 저장된 데이터가 깨질 수 있는 문제입니다. 이로 인해 컴퓨터의 저장 장치를 사용할 수 없게 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: async_xor: increase src_offs when dropping destination page Now we support sharing one page if PAGE_SIZE is not equal stripe size. To support this, it needs to support calculating xor value with different offsets for each r5dev. One offset array is used to record those offsets. In RMW mode, parity page is used as a source page. It sets ASYNC_TX_XOR_DROP_DST before calculating xor value in ops_run_prexor5. So it needs to add src_list and src_offs at the same time. Now it only needs src_list. So the xor value which is calculated is wrong. It can cause data corruption problem. I can reproduce this problem 100% on a POWER8 machine. The steps are: mdadm -CR /dev/md0 -l5 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --size=3G mkfs.xfs /dev/md0 mount /dev/md0 /mnt/test mount: /mnt/test: mount(2) system call failed: Structure needs cleaning.

📍 영향받는 시스템

Linux Kernel (특히 RAID/mdadm를 사용하는 POWER8 등 특정 아키텍처 환경)

⚔️ 공격 벡터

직접적인 원격 공격보다는 특정 RAID 구성 및 데이터 쓰기 작업 중 데이터 손상 유발

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

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

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:H/A:H

💻 영향받는 소프트웨어

Linux Kernel