🇰🇷 한글 설명
Linux 커널의 pinctrl 핵심 코드에서 devm_ 관리 포인터를 중복 해제(double free)하는 취약점. pinctrl_enable() 함수가 devm_pinctrl_dev_release()에서 이미 해제될 메모리를 다시 해제하려고 시도하여 발생. 커널 패닉이나 권한 상승으로 이어질 수 있음.
💡 쉬운 설명
메모리를 두 번 정리하려는 프로그래밍 오류. 시스템 중단이나 공격자의 권한 상승을 초래할 수 있음.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
pinctrl: core: delete incorrect free in pinctrl_enable()
The "pctldev" struct is allocated in devm_pinctrl_register_and_init().
It's a devm_ managed pointer that is freed by devm_pinctrl_dev_release(),
so freeing it in pinctrl_enable() will lead to a double free.
The devm_pinctrl_dev_release() function frees the pindescs and destroys
the mutex as well.
📍 영향받는 시스템
Linux kernel (모든 배포판의 pinctrl 모듈 포함 커널)
⚔️ 공격 벡터
로컬 권한 상승 - pinctrl 장치 제어 권한을 가진 로컬 사용자가 취약한 코드 경로 실행
🛡️ 대응 방법
영향받는 Linux 커널을 패치가 적용된 최신 버전으로 업데이트
🔧 검증 코드
현재 커널 버전과 설치된 linux-image 패키지 버전이 출력되며, 최신 보안 업데이트 적용 여부를 Linux 공식 보안 권고사항과 비교하여 확인
uname -r && dpkg -l | grep linux-image 2>/dev/null | awk '{print $2,$3}' | head -3