CVE-2026-98305 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
Linux 커널에서 다음 취약점이 해결되었습니다:
net: dsa: mxl862xx: teardown 시 stats 폴링 비활성화
mxl862xx_setup()는 mxl862xx_setup_mdio() 이전에 stats 폴밍을 활성화하며, dsa_register_switch()가 mxl862xx_probe()로 에러를 반환할 때까지 이를 중지하는 작업이 없습니다. DSA는 반환하기 전에 dsa_port 목록을 해제하므로, .setup 또는 dsa_tree_setup()의 후속 단계 중 하나에서 실패한 경우 폴링이 해제된 포트를 참조하게 됩니다. 시스템 종료 시 사용자 포트가 등록 상태에 유지되고 mxl862xx_get_stats64() 내의 WORK_STOPPED 플래그 테스트는 mxl862xx_shutdown() 내의 취소 작업과 원자적(atomic)이지 않으므로, 해당 플래그가 설정되기 전에 값을 읽은 재활성화는 cancel_delayed_work_sync() 반환 후 폴링을 큐에 추가합니다.
.setup이 성공한 후에만 폴밍을 활성화하고 .teardown 연산에서 이를 중지하십시오. DSA는 등록 해제 및 실패한 등록 시 이 연산을 호출하며, 두 경우 모두 포트 해제 전에 수행됩니다. 여기와 shutdown()에서 disable_delayed_work_sync()를 사용하십시오. 이는 취소 작업이 수행하듯이 실행 중인 폴링을 드레인하고 이후의 모든 큐잉 시도를 무효화(no-op)로 처리하므로 재활성화로 인해 폴밍이 다시 활성화되지 않습니다. remove() 및 probe 오류 경로에서는 WORK_STOPPED만 설정되며, crc_err_work는 포트를 참조하기 전에 이 플래그를 테스트합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.