🔍 CVE-2025-38010

5.5
CVSS Score
MEDIUM
2025-06-18
2026-11-05 21:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 Tegra XUSB PHY 드라이버에서 UTMI 패드 전원 상태 추적에 참조 카운트 대신 비트마스크를 사용하도록 수정했습니다. 이전 구현은 시스템 절전(suspend) 중 USB 장치가 연결된 상태에서 참조 카운트 불일치로 경고가 발생했습니다. 이 패치는 4개의 USB2 PHY 각각의 활성화 상태를 개별 비트로 추적하고, 뮤텍스 위치를 상위 함수로 옮겨 경쟁 상태를 방지합니다.

💡 쉬운 설명

노트북이나 기기를 절전 모드로 들어가게 할 때, USB 장치의 전원 관리 내부 카운터가 어긋나 경고가 뜨는 문제를 고쳤습니다. 각 USB 포트의 상태를 따로 기록하도록 바꿔 전원 켜기/끄기가 정확하게 작동하게 했습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: phy: tegra: xusb: Use a bitmask for UTMI pad power state tracking The current implementation uses bias_pad_enable as a reference count to manage the shared bias pad for all UTMI PHYs. However, during system suspension with connected USB devices, multiple power-down requests for the UTMI pad result in a mismatch in the reference count, which in turn produces warnings such as: [ 237.762967] WARNING: CPU: 10 PID: 1618 at tegra186_utmi_pad_power_down+0x160/0x170 [ 237.763103] Call trace: [ 237.763104] tegra186_utmi_pad_power_down+0x160/0x170 [ 237.763107] tegra186_utmi_phy_power_off+0x10/0x30 [ 237.763110] phy_power_off+0x48/0x100 [ 237.763113] tegra_xusb_enter_elpg+0x204/0x500 [ 237.763119] tegra_xusb_suspend+0x48/0x140 [ 237.763122] platform_pm_suspend+0x2c/0xb0 [ 237.763125] dpm_run_callback.isra.0+0x20/0xa0 [ 237.763127] __device_suspend+0x118/0x330 [ 237.763129] dpm_suspend+0x10c/0x1f0 [ 237.763130] dpm_suspend_start+0x88/0xb0 [ 237.763132] suspend_devices_and_enter+0x120/0x500 [ 237.763135] pm_suspend+0x1ec/0x270 The root cause was traced back to the dynamic power-down changes introduced in commit a30951d31b25 ("xhci: tegra: USB2 pad power controls"), where the UTMI pad was being powered down without verifying its current state. This unbalanced behavior led to discrepancies in the reference count. To rectify this issue, this patch replaces the single reference counter with a bitmask, renamed to utmi_pad_enabled. Each bit in the mask corresponds to one of the four USB2 PHYs, allowing us to track each pad's enablement status individually. With this change: - The bias pad is powered on only when the mask is clear. - Each UTMI pad is powered on or down based on its corresponding bit in the mask, preventing redundant operations. - The overall power state of the shared bias pad is maintained correctly during suspend/resume cycles. The mutex used to prevent race conditions during UTMI pad enable/disable operations has been moved from the tegra186_utmi_bias_pad_power_on/off functions to the parent functions tegra186_utmi_pad_power_on/down. This change ensures that there are no race conditions when updating the bitmask.

📍 영향받는 시스템

NVIDIA Tegra 기반 시스템에서 사용되는 Linux 커널 (Tegra XUSB PHY 드라이버 포함 버전)

⚔️ 공격 벡터

공격 벡터는 확인되지 않았으며, 주로 절전 전환 시 발생하는 커널 경고 및 전원 상태 불일치 문제입니다.

🛡️ 대응 방법

커널을 이 CVE 수정이 포함된 최신 안정 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용하십시오.

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지나 Linux 커널 Git 저장소의 수정 커밋과 대조하여, 해당 패치가 포함된 버전인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel