CVE-2021-47262 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 30.

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

KVM: x86: 중첩 VM-Enter 실패 tracepoint 메시지의 수명(liveliness) 보장

"중첩 VM-Enter 실패(nested VM-Enter failed)" tracepoint이 소비하는 문자열 리터럴의 복사본을 생성하기 위해 tracing 서브시스템에서 제공하는 __string() 메커니즘을 사용합니다. 완전한 복사본은 tracepoint가 자신이 참조하는 데이터/메모리보다 오래 생존하여 stale(낡은) 메모리를 역참조(dereference)하지 않도록 보장하는 데 필요합니다.

tracepoint 자체는 kvm에 의해 정의되므로, kvm-intel 및/또는 kvm-amd가 모듈로 빌드된 경우 벤더 모듈에서 정의한 문자열 리터럴을 보유하는 메모리는 해당 모듈이 언로드될 때 해제됩니다. 반면 tracepoint와 링 버퍼 내의 데이터는 kvm이 언로드될 때까지(또는 kvm이 인라인으로 빌드된 경우 "무기한") 생존합니다.

이 버그는 tracepoint가 추가되었을 때부터 존재했지만, 최근 tracing에서 정확히 이러한 유형의 버그를 감지하기 위한 새로운 체크 기능이 도입되면서 드러나게 되었습니다.

fmt: '%s%s ' current_buffer: ' vmx_dirty_log_t-140127 [003] .... kvm_nested_vmenter_failed: '
WARNING: CPU: 3 PID: 140134 at kernel/trace/trace.c:3759 trace_check_vprintf+0x3be/0x3e0 CPU: 3 PID: 140134 Comm: less Not tainted 5.13.0-rc1-ce2e73ce600a-req #184 Hardware name: ASUS Q87M-E/Q87M-E, BIOS 1102 03/03/2014 RIP: 0010:trace_check_vprintf+0x3be/0x3e0 Code: 0b 44 8b 4c 24 1c e9 a9 fe ff ff c6 44 02 ff 00 49 8b 97 b0 20 RSP: 0018:ffffa895cc37bcb0 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffffa895cc37bd08 RCX: 0000000000000027 RDX: 00000000000

If you want to get best quality of vulnerability data, you may have to visit VulDB.

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!