🔍 CVE-2026-43276

7.8
CVSS Score
HIGH
2026-05-06
2026-11-06 16:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 mana 드라이버에서 서비스 리스캔 PCI 경로 처리 중 gc->service_wq가 두 번 해제되어 use-after-free 및 커널 크래시가 발생할 수 있는 문제입니다. 서스펜드 후 리줌이 실패하면 PCI 제거 콜백이 이미 해제된 워크큐를 다시 해제하려고 시도합니다. 수정은 워크큐 해제 전 NULL 검사와 해제 후 NULL 설정을 추가하는 것입니다.

💡 쉬운 설명

이 취약점은 Microsoft Azure 등에서 쓰이는 네트워크 카드(mana 드라이버) 처리 과정에서 같은 자원을 두 번 정리하려다 생기는 오류입니다. 이로 인해 시스템이 갑자기 멈추거나 재부팅될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: mana: Fix double destroy_workqueue on service rescan PCI path While testing corner cases in the driver, a use-after-free crash was found on the service rescan PCI path. When mana_serv_reset() calls mana_gd_suspend(), mana_gd_cleanup() destroys gc->service_wq. If the subsequent mana_gd_resume() fails with -ETIMEDOUT or -EPROTO, the code falls through to mana_serv_rescan() which triggers pci_stop_and_remove_bus_device(). This invokes the PCI .remove callback (mana_gd_remove), which calls mana_gd_cleanup() a second time, attempting to destroy the already- freed workqueue. Fix this by NULL-checking gc->service_wq in mana_gd_cleanup() and setting it to NULL after destruction. Call stack of issue for reference: [Sat Feb 21 18:53:48 2026] Call Trace: [Sat Feb 21 18:53:48 2026] <TASK> [Sat Feb 21 18:53:48 2026] mana_gd_cleanup+0x33/0x70 [mana] [Sat Feb 21 18:53:48 2026] mana_gd_remove+0x3a/0xc0 [mana] [Sat Feb 21 18:53:48 2026] pci_device_remove+0x41/0xb0 [Sat Feb 21 18:53:48 2026] device_remove+0x46/0x70 [Sat Feb 21 18:53:48 2026] device_release_driver_internal+0x1e3/0x250 [Sat Feb 21 18:53:48 2026] device_release_driver+0x12/0x20 [Sat Feb 21 18:53:48 2026] pci_stop_bus_device+0x6a/0x90 [Sat Feb 21 18:53:48 2026] pci_stop_and_remove_bus_device+0x13/0x30 [Sat Feb 21 18:53:48 2026] mana_do_service+0x180/0x290 [mana] [Sat Feb 21 18:53:48 2026] mana_serv_func+0x24/0x50 [mana] [Sat Feb 21 18:53:48 2026] process_one_work+0x190/0x3d0 [Sat Feb 21 18:53:48 2026] worker_thread+0x16e/0x2e0 [Sat Feb 21 18:53:48 2026] kthread+0xf7/0x130 [Sat Feb 21 18:53:48 2026] ? __pfx_worker_thread+0x10/0x10 [Sat Feb 21 18:53:48 2026] ? __pfx_kthread+0x10/0x10 [Sat Feb 21 18:53:48 2026] ret_from_fork+0x269/0x350 [Sat Feb 21 18:53:48 2026] ? __pfx_kthread+0x10/0x10 [Sat Feb 21 18:53:48 2026] ret_from_fork_asm+0x1a/0x30 [Sat Feb 21 18:53:48 2026] </TASK>

📍 영향받는 시스템

mana 네트워크 드라이버를 사용하는 Linux 커널 (패치 적용 전 버전)

⚔️ 공격 벡터

공격자가 드라이버의 서비스 리셋 및 리줌 실패 상황을 유발해 커널 크래시(서비스 거부)를 일으킬 수 있으며, 로컬 권한이 필요합니다.

🛡️ 대응 방법

배포판 벤더가 제공하는 최신 Linux 커널 보안 업데이트를 적용하고 재부팅합니다.

🔧 검증 코드

커널 버전과 mana 모듈 로드 여부를 확인하고, 벤더 패치 changelog에 CVE-2026-43276 수정이 포함되었는지 대조합니다. mana 모듈이 없으면 이 취약점의 영향을 받지 않습니다.

Shell / Script
uname -r && (lsmod | grep -i mana || echo 'mana 모듈 미로드') && (modinfo mana 2>/dev/null | grep -E '^(version|srcversion|filename)')

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel