🇰🇷 한글 설명
Linux 커널의 CAN raw 소켓 구현에서 플래그 비트필드를 처리할 때 발생하는 경쟁 상태(Race Condition) 취약점입니다. 여러 프로세스가 동시에 플래그를 수정할 경우 데이터가 손상될 수 있으며, 이를 해결하기 위해 새로운 잠금(locking) 메커니즘이 도입되었습니다.
💡 쉬운 설명
여러 작업이 동시에 시스템의 설정값을 바꾸려고 할 때, 서로 충돌하여 설정이 엉망이 될 수 있는 문제입니다. 이를 방지하기 위해 한 번에 한 작업만 설정값을 바꿀 수 있도록 순서를 정해주는 안전장치가 필요합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
can: raw: add locking for raw flags bitfield
With commit 890e5198a6e5 ("can: raw: use bitfields to store flags in
struct raw_sock") the formerly separate integer values have been integrated
into a single bitfield. This led to a read-modify-write operation when
changing a flag in raw_setsockopt() which now needs a locking to prevent
concurrent access.
Instead of adding a lock/unlock hell in each of the flag manipulations this
patch introduces a wrapper for a new raw_setsockopt_locked() function
analogue to the isotp_setsockopt[_locked]() approach in net/can/isotp.c
[mkl: use Closes tag instead of Link]
📍 영향받는 시스템
Linux kernel (commit 890e5198a6e5 이후 bitfield 적용 버전)
⚔️ 공격 벡터
동시성 제어 미흡을 이용한 경쟁 상태(Race Condition) 공격
🛡️ 대응 방법
커널 패치(commit 890e5198a6e5 관련 수정 사항)를 적용하여 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA vGPU Guest Driver for Linux