Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
qemu-xhci-complete-uaf — QEMU 11.1.2 - उच्च - स्थानीय - UAF - xhci_complete, CVE-2026-17588 डोरबेल DMA का अवशेष | Kitploit
उपकरण/GitHubGitHub/abraxas/qemu-xhci-complete-uaf
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणपेपर और शोधबाइनरी शोषणलैब और अभ्यास
GitHubabraxas/qemu-xhci-complete-uaf

qemu-xhci-complete-uaf

QEMU 11.1.2 - उच्च - स्थानीय - UAF - xhci_complete, CVE-2026-17588 डोरबेल DMA का अवशेष

रिपॉजिटरी देखें
83 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - qemu-xhci-complete-uaf

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  qemu-xhci-complete-uaf

qemu-xhci-complete-uaf

QEMU v11.1.2 (4fc49f46dc95d4a27de2509e7fceb2931e91faeb) - qemu-xhci

वर्ग: UAF (heap use-after-free)। पहुँच: स्थानीय (guest)।

xhci_complete CVE-2026-17588 का अवशेष है। 11.1.2 पैच दो xHCI टाइमरों की रक्षा करता है। यह async USB complete पथ की रक्षा नहीं करता। एक guest जो event ring को doorbell BAR पर लक्षित करता है, अभी भी xhci_complete से doorbell 0 में 16-बाइट TRB DMA-लिखा हुआ प्राप्त करता है, जबकि TYPE_XHCI mem_reentrancy_guard पहले से ही स्पष्ट है। वह लेखन xhci_process_commands चलाता है। एक तैयार CR_DISABLE_SLOT जीवित XHCITransfer को मुक्त करता है जबकि xhci_complete अभी भी उसे पकड़े हुए है।

q35 में qemu-xhci शामिल है। इस लैब में bulk साथी usb-uas है। वही complete callback usb-storage, usb-redir, और usb-host से भी पहुँचा जा सकता है।

qemu-xhci और एक async bulk डिवाइस पर एक guest kernel QEMU प्रोसेस heap का UAF कर सकता है।

IDअभी तक कोई CVE नहीं
CWECWE-416
CVSSHigh: 8.2 CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
उत्पादQEMU
प्रभावितv11.1.2 (4fc49f46)
प्रमाणीकरणqemu-xhci (q35 डिफ़ॉल्ट) पर guest kernel और USB_RET_ASYNC bulk
लाइसेंसGNU Affero GPL v3.0
लैब127.0.0.1:18700 केवल qtest

एक हमलावर क्या कर सकता है

कौन: अविश्वसनीय guest kernel (या USB passthrough सहकर्मी)। Guest-to-host। QEMU userspace heap।

अखंडता (लैब-प्रमाणित)

विधिसिंकविशेषाधिकार
doorbell BAR पर Guest ERST / ERDP, फिर async UAS completexhci_complete hw/usb/hcd-xhci.c:3282-3295 -> xhci_write_event DMAXHCITransfer का ASan heap-use-after-free जबकि बाहरी complete अभी भी उसे पकड़े हुए है। CR_DISABLE_SLOT doorbell पुनः-प्रवेश से प्राप्त।
वही पथ, xhci_ep_nuke_xfers / xhci_ep_free_xferg_free(xfer)जीवित transfer और endpoint context का मुक्त होना। यदि complete फिर से मुक्त करता है तो double-free।

उपलब्धता (लैब-प्रमाणित)

ASan के अंतर्गत QEMU प्रोसेस abort। ASan के बिना यह hypervisor प्रोसेस में एक जीवंत heap UAF है: guest-to-host क्रैश, और मुक्त किए गए XHCITransfer का अनुमानित पुनःउपयोग।

रेकॉन

qemu-xhci की गणना के अलावा कुछ भी आवश्यक नहीं। q35 डिफ़ॉल्ट में यह शामिल है।

निकटवर्ती सतह जो बंद रहती है

  • CVE-2026-17588 टाइमर पथ: xhci_mfwrap_timer और xhci_ep_kick_timer xhci->parent.mem_reentrancy_guard सेट करते हैं। इस पिन पर बंद।
  • EHCI async complete: FINISHED चिह्नित करता है और एक guarded BH शेड्यूल करता है। USB complete callback से event ring नहीं लिखता।
  • UAS-object UAF (CVE-2021-3713 वर्ग): status BH UAS DeviceState पर guarded है। अवशेष xHCI ऑब्जेक्ट है event-ring DMA के माध्यम से, UAS ऑब्जेक्ट का 2021 n-day नहीं।
  • HID NAK retry: वह kick timer है, अब guarded।
  • Guest-root asserts और unbounded RNDIS alloc: हार्डनिंग, यह वर्ग नहीं।

लैब RIP नियंत्रण या guest-to-host शेल प्रदर्शित नहीं करता। वर्ग QEMU प्रोसेस का heap UAF है।

मैंने इसे कैसे खोजा

मैंने v11.1.2 को पिन किया क्योंकि वह वर्तमान GA है और वह टैग है जिसने CVE-2026-17588 को बंद किया। मैं hw/usb/hcd-xhci.c पर बैठा और पूछा कि पैच ने event ring के किन लेखकों को छोड़ दिया।

टाइमर TYPE_XHCI guard लेते हैं। xhci_complete नहीं लेता। EHCI ने पहले ही 2021 में इस वर्ग को BH पर स्थगित कर दिया था। xHCI अभी भी USB complete callback से DMA लिखता है।

गलत मोड़: UAS स्थिति BH को पर्याप्त मानना (यह UAS की रक्षा करता है, xHCI की नहीं); HID NAK पर प्रतीक्षा करना (टाइमर, पहले ही पैच किया जा चुका); qtest doorbell + usb-uas के बजाय वास्तविक guest kernel चाहना।

लैब

cd lab
./run.sh

केवल 127.0.0.1:18700 (qtest) और 127.0.0.1:18701 (QMP) को लक्षित करें। Pin को github.com/qemu/QEMU टैग v11.1.2 / 4fc49f46 से क्लोन किया गया है। ASan बिल्ड। Loopback। केवल-साक्षी (Witness-only)।

SUCCESS qemu-xhci-complete-uaf how=ERROR: AddressSanitizer: heap-use-after-free erst=doorbell async=1 success=1 disable-slot-fetch=1 QEMU-XHCI-COMPLETE-UAF-WITNESS

रीप्ले: python3 qemu-xhci-complete-uaf-Abraxas-Labs.py।

समाधान

पूरे xhci_complete के लिए xhci->parent.mem_reentrancy_guard को सक्रिय करें, ठीक उसी तरह जैसे दोनों टाइमर पहले से करते हैं। या फिर xhci_try_complete_packet / xhci_kick_epctx को TYPE_XHCI-गार्डेड BH पर स्थगित करें, EHCI के अनुरूप। किसी भी तरह से, इवेंट रिंग में DMA-राइट गार्ड के बिना नहीं चलना चाहिए।

संदर्भ

  • github.com/qemu/QEMU टैग v11.1.2 कमिट 4fc49f46dc95d4a27de2509e7fceb2931e91faeb
  • xhci_complete
  • निकटवर्ती पैच किया गया (यह पथ नहीं): CVE-2026-17588 xHCI टाइमर रीएंट्रेंसी
  • समान पिन: qemu-nvme-sgl-bar · qemu-colo-l4-oob
  • श्रृंखला: QEMU 11.1.2 leftovers
  • CWE-416

लाइसेंस

GNU Affero GPL v3.0। देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।

टूल डाउनलोड करें