🇰🇷 한글 설명
Linux 커널의 Qualcomm PD mapper에서 servreg_loc_pfr_req_ei의 element 길이가 servreg_loc_pfr_req의 reason 필드와 일치하지 않아 발생하는 문제입니다. PD 크래시 시 QMI 프로토콜 디코딩 에러로 인해 시스템 불안정이 초래됩니다. 최대 길이(65) 초과인 문자열(81)을 처리하지 못해 메모리 손상 위험이 있습니다.
💡 쉬운 설명
Linux 커널의 통신 프로토콜에서 메시지 크기 제한이 잘못 설정된 문제로, 시스템 크래시 시 오류 메시지를 올바르게 처리하지 못합니다. 이로 인해 예상치 못한 메모리 접근이나 시스템 불안정이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
soc: qcom: pd-mapper: Fix element length in servreg_loc_pfr_req_ei
It looks element length declared in servreg_loc_pfr_req_ei for reason
not matching servreg_loc_pfr_req's reason field due which we could
observe decoding error on PD crash.
qmi_decode_string_elem: String len 81 >= Max Len 65
Fix this by matching with servreg_loc_pfr_req's reason field.
📍 영향받는 시스템
Qualcomm SoC 탑재 Linux 커널 (android, qualcomm chipset 기반 디바이스)
⚔️ 공격 벡터
로컬 공격: PD 시스템 크래시를 유도하여 QMI 메시지 디코딩 오류 및 DoS 유발
🛡️ 대응 방법
Linux 커널 업데이트 (qcom pd-mapper 패치 적용 필요, 배포처별 보안 업데이트 확인)
🔧 검증 코드
커널 버전과 모듈 정보 확인 후 취약한 버전이면 커널 업데이트, 패치된 버전이면 안전함
cat /proc/version && uname -r && grep -r 'servreg_loc_pfr' /lib/modules/$(uname -r) 2>/dev/null | head -1