🇰🇷 한글 설명
Linux 커널의 ARM 아키텍처에서 CFI(제어 흐름 무결성) 브레이크포인트가 활성화되지 않았을 때 특정 브레이크포인트 유형을 선점하던 문제를 해결했습니다. 이를 통해 CFI를 사용하지 않거나 사용자 공간에서 브레이크포인트가 발생할 경우, 해당 자원을 사용자 공간이 정상적으로 사용할 수 있도록 개선되었습니다.
💡 쉬운 설명
커널이 사용하지도 않는 특정 기능을 미리 차지하고 있어서 발생하던 충돌 문제를 해결했습니다. 이제 시스템이 필요할 때만 해당 기능을 사용하므로 사용자 프로그램이 더 원활하게 작동합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ARM: 9481/2: breakpoint: CFI breakpoints only on demand
This removes the stub hw_breakpoint_cfi_handler() from ARM, making
it not steal breakpoint type 0x03 (ARM_ENTRY_CFI_BREAKPOINT) unless
CFI is actively used in the kernel.
When not instrumenting with CFI, or when a breakpoint is issued in
userspace, we fall through to return 1 from hw_breakpoint_pending()
"unhandled fault" so userspace can make use of this breakpoint.
Tested with LKDTM and this command line:
echo CFI_FORWARD_PROTO > /sys/kernel/debug/provoke-crash/DIRECT
still works as expected.
📍 영향받는 시스템
CFI 기능이 적용된 ARM 기반 Linux 커널 시스템
⚔️ 공격 벡터
직접적인 공격 벡터는 없으며, 시스템 자원 점유로 인한 기능 오작동 가능성 해결
🛡️ 대응 방법
CFI 브레이크포인트 핸들러가 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 최신 릴리스인지 확인