CVE-2026-64476 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 27.

리눅스 커널에서 다음 취약점이 해결되었습니다:

vfio/pci: disable_idle_d3를 장치별로 래치(latch)함

disable_idle_d3가 vfio-pci에 도입되었을 때, 이는 pci_set_power_state()를 사용하여 직접적으로 장치의 전원 상태를 조작했습니다. 유지해야 할 참조 카운트(refcounts)나 균형 잡힌 연산이 없었기 때문에, 장치를 무조건 D0 상태로 전환하고 조건부로 D3hot 상태로 이동할 수 있었습니다. 따라서 모듈 파라미터가 쓰기 가능하게 설정되었습니다.

후에 c61302aa48f7("vfio/pci: Move module parameters to vfio_pci.c") 커밋에서, vfio-pci-core 분리의 일환으로 모듈 파라미터의 쓰기 가능한 특성이 무효화되었습니다. sysfs를 통해 파라미터 값을 변경할 수는 있었지만, vfio-pci 드라이버는 모듈 초기화 시 해당 값들을 vfio-pci-core 전역 변수에 래치했습니다. 기본값이 아닌 다른 값이나 서로 다른 값으로 vfio-pci 모듈을 로드하거나 언로드하고 다시 로드하면, 이미 vfio-pci 변형 드라이버에 바인딩된 기존 장치들과 관련하여 전역 변수가 변경될 수 있습니다.

7ab5e10eda02("vfio/pci: Move the unused device into low power state with runtime PM") 커밋에서 런타임 전원 관리(Runtime PM)가 도입되었으며, 이는 전원 상태가 참조 카운팅(refcounted)되기 시작한 시점을 나타냅니다. PM get 및 put 연산은 균형이 맞춰져야 하지만, 위에서 언급한 동일한 모듈 연산들이 이미 vfio-pci 변형 드라이버에 바인딩된 장치들과 관련하여 전역 변수를 변경할 수 있습니다. 이로 인해 PM 연산의 불균형을 초래하는 시간적 창(window)이 발생합니다.

안정적인 백포트(backports)를 위해 좁은 범위 내에서 이를 해결하기 위해, disable_idle_d3 플래그는 초기화 시점에 vfio_pci_core_device에 래치되어 장치가 항상 일관된 값으로 작동하도록 합니다.

참고: vfio_pci_dev_set_try_reset()는 이제 bus reset 주변에서 런타임 PM 사용 카운트를 무조건 증가시킵니다. 이는 disable_idle_d3가 전역 플래그가 아닌 장치별 플래그로 변경되었기 때문입니다. 이 플래그가 설정되어 있을 때, 추가적인 get/put 쌍은 해롭지 않으며 공유 vfio_pci_dev_set_pm_runtime_get() 헬퍼의 계속된 사용을 허용합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383254

EPSS

0.00180

출처

Do you know our Splunk app?

Download it now for free!