CVE-2026-89744 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 11.

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

device property: fwnode_for_each_child_node()의 무한 루프 수정

2차 fwnode를 가진 fwnode의 자식 노드를 반복할 때, 2차 fwnode에 두 개 이상의 자식이 있으면 `fwnode_get_next_child_node()`가 무한 루프에 빠질 수 있습니다.

부모 자식 (1차 fwnode) FWa: {FWa1, FWa2, FWa3}
(2차 fwnode) FWb: {FWb1, FWb2}

이 경우 다음과 같은 상황이 발생합니다:

┌─> fwnode_get_next_child_node(FWa, FWa1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa1)은 FWa2를 반환합니다. │ │ ... │ │ fwnode_get_next_child_node(FWa, FWa3) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa3)는 NULL을 반환합니다. │ - fwnode_call_ptr_op(FWb, get_next_child_node, FWa3)은 FWb1을 반환합니다. │ │ fwnode_get_next_child_node(FWa, FWb1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWb1)는 다시 FWa1을 반환합니다. └────┘

이로 인해 `fwnode_for_each_child_node()`가 무한히 반복되며 {FWa1, FWa2, FWa3, FWb1, FWa1, ...}를 계속 출력합니다.

근본 원인은 현재 자식(FWb1)이 2차 fwnode에 속할 때, 1차 fwnode에서 `get_next_child_node()`를 호출하면 NULL 대신 첫 번째 자식(FWa1)을 다시 반환하는 잘못된 동작 때문입니다.

이를 해결하기 위해 `get_next_child_node()`를 호출하기 전에 현재 자식의 부모 fwnode를 동적으로 확인합니다. 이 접근 방식은 커밋 b5b41ab6b0c1("device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint()")에서 확립된 패턴을 따릅니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-402576

EPSS

0.00000

출처

Do you need the next level of professionalism?

Upgrade your account now!