🇰🇷 한글 설명
Linux 커널의 pinctrl-msm 드라이버에서, 일부 플랫폼의 UFS 리셋 핀은 TLMM에 인터럽트 로직이 없음에도 GPIO로 등록되어 있습니다. 사용자 공간에서 이 핀에 인터럽트를 요청하면 msm_gpio_irq_set_type()의 BUG()가 호출되어 커널이 비정상 종료될 수 있으며, 이를 막기 위해 해당 핀들을 IRQ 사용 불가로 표시하도록 수정되었습니다.
💡 쉬운 설명
일부 장치에서 특정 입출력 핀에 잘못된 인터럽트 요청을 보내면 리눅스 커널이 강제로 멈출 수 있습니다. 패치는 이런 핀을 인터럽트 대상에서 제외해 커널이 안전하게 동작하도록 합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
pinctrl: qcom: msm: mark certain pins as invalid for interrupts
On some platforms, the UFS-reset pin has no interrupt logic in TLMM but
is nevertheless registered as a GPIO in the kernel. This enables the
user-space to trigger a BUG() in the pinctrl-msm driver by running, for
example: `gpiomon -c 0 113` on RB2.
The exact culprit is requesting pins whose intr_detection_width setting
is not 1 or 2 for interrupts. This hits a BUG() in
msm_gpio_irq_set_type(). Potentially crashing the kernel due to an
invalid request from user-space is not optimal, so let's go through the
pins and mark those that would fail the check as invalid for the irq chip
as we should not even register them as available irqs.
This function can be extended if we determine that there are more
corner-cases like this.
📍 영향받는 시스템
Qualcomm MSM 기반 ARM 장치(예: RB2)를 사용하는 수정 전 Linux 커널
⚔️ 공격 벡터
로컬 사용자가 gpiomon 등의 도구로 인터럽트 불가 GPIO 핀에 인터럽트를 요청하여 커널 BUG()를 유발
🛡️ 대응 방법
커널을 CVE-2025-38516 수정이 포함된 최신 안정 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 패치가 적용된 배포판 업데이트 버전 이상인지 배포판 보안 공지와 대조하고, 해당 장치가 Qualcomm MSM 플랫폼이 아니면 영향이 없습니다.