🔍 CVE-2023-53491

7.5
CVSS Score
HIGH
2025-10-01
2026-10-15 22:17
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 초기 부팅 과정에서 스택 보호 기능(stack protector) 설정 불일치로 인해 시스템 패닉이 발생할 수 있는 취약점입니다. GCC 11 이상에서 지원하는 __no_stack_protector 속성을 사용하여 boot_init_stack_canary 호출 시 스택 카나리 값이 충돌하는 문제를 해결했습니다.

💡 쉬운 설명

컴퓨터가 처음 켜질 때 보안을 위해 사용하는 '방어막' 설정이 서로 맞지 않아 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 최신 컴파일러 기능을 사용하여 이 방어막 설정이 어긋나지 않도록 수정되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: start_kernel: Add __no_stack_protector function attribute Back during the discussion of commit a9a3ed1eff36 ("x86: Fix early boot crash on gcc-10, third try") we discussed the need for a function attribute to control the omission of stack protectors on a per-function basis; at the time Clang had support for no_stack_protector but GCC did not. This was fixed in gcc-11. Now that the function attribute is available, let's start using it. Callers of boot_init_stack_canary need to use this function attribute unless they're compiled with -fno-stack-protector, otherwise the canary stored in the stack slot of the caller will differ upon the call to boot_init_stack_canary. This will lead to a call to __stack_chk_fail() then panic.

📍 영향받는 시스템

GCC 11 미만 버전을 사용하여 컴파일된 특정 리눅스 커널 버전

⚔️ 공격 벡터

직접적인 원격 공격보다는 특정 컴파일 환경에서 빌드된 커널을 사용하는 시스템의 부팅 시 시스템 패닉 유발

🛡️ 대응 방법

해당 패치가 적용된 최신 리눅스 커널로 업데이트하거나 GCC 11 이상의 환경에서 재빌드된 커널 사용

🔧 검증 코드

출력된 커널 버전과 GCC 버전이 보안 패치가 적용된 최신 버전인지 확인합니다.

Shell / Script
uname -r && gcc --version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel