
CVE-2026-58635 के लिए PoC: विंडोज नैरेटर ब्रेल स्थानीय विशेषाधिकार वृद्धि
CVE-2026-58635 के लिए प्रूफ ऑफ कॉन्सेप्ट, यह विंडोज नैरेटर ब्रेल में एक कमांड-इंजेक्शन भेद्यता है। एक स्थानीय प्रमाणित उपयोगकर्ता एक लिखने योग्य BrlAPI पैरामीटर का दुरुपयोग करके विशेषाधिकार प्राप्त BRLTTY सेवा को एक मनमाना प्रोग्राम निष्पादित करने के लिए मजबूर कर सकता है।
माइक्रोसॉफ्ट इस मुद्दे को महत्वपूर्ण रेट करता है, जिसका CVSS 3.1 स्कोर 7.8 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) है, और इसे CWE-77 से मैप करता है।
यह रिपॉजिटरी केवल एक पृथक प्रयोगशाला में अधिकृत परीक्षण के लिए है। इसे उत्पादन प्रणालियों या उन प्रणालियों पर न चलाएं जिनके आप मालिक या प्रशासक नहीं हैं।
PoC निम्नलिखित पथ का अनुसरण करता है:
standard user
-> starts the locally accessible BrlAPI service
-> connects to localhost:0 with auth=none
-> writes global BrlAPI parameter 29 (literary braille table)
-> BRLTTY interprets an executable path as an external contraction table
-> BRLTTY launches the supplied program as LocalService
-> optional SeImpersonate token stage
-> interactive SYSTEM command prompt
CVE-विशिष्ट प्रिमिटिव LocalService के रूप में मनमाना निष्पादन पर समाप्त होता है। परीक्षण किए गए विंडोज कॉन्फ़िगरेशन पर, उस टोकन में SeImpersonatePrivilege है, इसलिए शामिल प्रदर्शन वैकल्पिक रूप से SigmaPotato का उपयोग करके SYSTEM टोकन प्राप्त करता है और सक्रिय कंसोल सत्र में एक दृश्य शेल लॉन्च करता है।
BRLTTY 6.4.1 BRLAPI_PARAM_LITERARY_BRAILLE_TABLE को वैश्विक और लिखने योग्य के रूप में उजागर करता है। सर्वर आपूर्ति की गई स्ट्रिंग को अपने संकुचन-तालिका लोडर के माध्यम से पास करता है। विंडोज पर, एक पथ जिसका एक्सटेंशन PATHEXT में मौजूद है, उसे बाहरी संकुचन प्रोग्राम के रूप में माना जाता है और BRLTTY के होस्ट-कमांड लॉन्चर के माध्यम से शुरू किया जाता है।
ट्रिगर एक सामान्य विंडोज पथ जैसे C:\lab\bin\localservice_stage.exe को फॉरवर्ड-स्लैश फॉर्म में सामान्यीकृत करता है जो इस BRLTTY/MinGW पथ-हैंडलिंग शाखा द्वारा अपेक्षित है। PoC में कोई उपयोगकर्ता प्रोफ़ाइल, ड्राइव अक्षर, विंडोज निर्देशिका, या खाता नाम संकलित नहीं किया गया है।
परीक्षण किए गए हमले की सतह के अस्तित्व के लिए वैकल्पिक Accessibility.Braille क्षमता स्थापित होनी चाहिए। Microsoft CNA रिकॉर्ड जुलाई 2026 के निश्चित संशोधनों के नीचे कई विंडोज क्लाइंट और सर्वर शाखाओं को प्रभावित के रूप में सूचीबद्ध करता है। सामान्य उदाहरणों में शामिल हैं:
अकेले बिल्ड नंबर एक स्क्रीनिंग सिग्नल हैं, विक्रेता सलाह और स्थापित-घटक सूची के विकल्प नहीं हैं। शामिल रीड-ओनली चेकर का उपयोग करें:
powershell -ExecutionPolicy Bypass -File .\scripts\Check-Vulnerability.ps1
यह रिपोर्ट करता है:
brlapi.dll और brltty.exe की उपस्थिति;चेकर BrlAPI शुरू नहीं करता, पैरामीटर 29 नहीं लिखता, या पेलोड निष्पादित नहीं करता।
.
├── bin/ Compiled PoC binaries and SigmaPotato
├── scripts/
│ ├── Check-Vulnerability.ps1 Read-only exposure/build check
│ ├── Clear-Results.cmd Remove generated result files
│ ├── Get-SigmaPotato.ps1 Fetch and hash-check the upstream helper
│ ├── Prepare-Lab.ps1 Install the optional feature and set lab ACLs
│ └── Run-PoC.cmd Standard-user end-to-end demonstration
├── src/
│ ├── brlapi_trigger.cpp BrlAPI client and parameter-29 write
│ ├── localservice_stage.cpp LocalService identity proof and optional chain
│ ├── path_util.h Runtime path helpers
│ └── system_shell_launcher.cpp
├── third_party/SigmaPotato/ Version, hash, license, and attribution
├── Makefile
├── LICENSE
├── SHA256SUMS
└── NOTICE
मूल PoC C++17 है और MinGW-w64 x86-64 टूलचेन के साथ बिल्ड होता है।
डेबियन या उबंटू पर:
sudo apt install make g++-mingw-w64-x86-64
make
बिल्ड निर्माण करता है:
bin/brlapi_trigger.exe
bin/localservice_stage.exe
bin/system_shell_launcher.exe
एंड-टू-एंड प्रदर्शन में उपयोग किए जाने वाले सटीक SigmaPotato संस्करण को प्राप्त करने के लिए, विंडोज से यह चलाएं:
powershell -ExecutionPolicy Bypass -File .\scripts\Get-SigmaPotato.ps1
डाउनलोड स्क्रिप्ट रिलीज़ v1.2.6 को पिन करती है और SHA-256 सत्यापित करती है:
EC68A6BF7F104A815BD21E27E73A8DFB8AFCB282D4997BEBE9ECCD6C89259506
रिपॉजिटरी रूट में एक उन्नत PowerShell प्रॉम्प्ट से:
powershell -ExecutionPolicy Bypass -File .\scripts\Prepare-Lab.ps1
यह स्क्रिप्ट:
Accessibility.Braille~~~~0.0.1.0 स्थापित करता है;bin\results के अंतर्गत सबूत बना सके।यदि क्षमता स्टेज की गई है लेकिन सेवा अभी तक पंजीकृत नहीं है, तो रीबूट करें और तैयारी स्क्रिप्ट को एक बार फिर चलाएं।
किसी भी स्थानीय या डोमेन खाते से साइन इन करें जो स्थानीय प्रशासकों समूह का सदस्य नहीं है। रिपॉजिटरी उपयोगकर्ता नहीं बनाती या पासवर्ड सेट नहीं करती।
सुरक्षा उत्पाद आमतौर पर टोकन-प्रतिरूपण प्रूफ-ऑफ-कॉन्सेप्ट टूल्स का पता लगाते हैं। बाइनरी रखने या चलाने से पहले अपने संगठन की परीक्षण नीति के अनुसार पृथक प्रयोगशाला कॉन्फ़िगर करें। सामान्य वर्कस्टेशन पर एंडपॉइंट सुरक्षा को कमजोर न करें।
एक अन-एलिवेटेड कमांड प्रॉम्प्ट से:
scripts\Run-PoC.cmd
अपेक्षित आउटपुट में शामिल है:
Connection: descriptor=<number> host=localhost:0 auth=none
Parameter 29 global write: 0
USER=LOCAL SERVICE
SID=S-1-5-19
वैकल्पिक दूसरा चरण अपना आउटपुट bin\results\escalation.log में रिकॉर्ड करता है। सफलता पर, bin\results\system_shell_status.txt में CREATED=1 होता है, और CVE-2026-58635 SYSTEM SHELL शीर्षक वाली एक नई विंडो खुलती है। उस विंडो में:
whoami
को वापस करना चाहिए:
nt authority\system
सभी उत्पन्न सबूत bin\results में रखे गए हैं:
उत्पन्न परिणामों को हटाएं इसके साथ:
scripts\Clear-Results.cmd
लागू जुलाई 2026 सुरक्षा अद्यतन या बाद का संचयी अद्यतन स्थापित करें। विंडोज 11 24H2 और 25H2 के लिए, माइक्रोसॉफ्ट KB5101650 (26100.8875 और 26200.8875) में निश्चित संशोधन भेजता है। यदि ब्रेल समर्थन की आवश्यकता नहीं है, तो वैकल्पिक क्षमता को हटाने से यह हमला सतह भी हट जाती है:
Remove-WindowsCapability -Online -Name Accessibility.Braille~~~~0.0.1.0
सुधार के बाद, Check-Vulnerability.ps1 को फिर से चलाएं और पुष्टि करें कि सिस्टम निश्चित संशोधन को पूरा करता है या घटक अनुपस्थित है।
| उत्पाद शाखा | संभावित रूप से नीचे प्रभावित | ज्ञात निश्चित स्तर |
|---|
| विंडोज 10 1809 / सर्वर 2019 | 17763.9020 | 17763.9020 या बाद का |
| विंडोज 10 21H2 | 19044.7548 | 19044.7548 या बाद का |
| विंडोज 10 22H2 | 19045.7548 | 19045.7548 या बाद का |
| विंडोज सर्वर 2022 | 20348.5386 | 20348.5386 या बाद का |
| विंडोज 11 24H2 | 26100.8875 | 26100.8875 या बाद का |
| विंडोज 11 25H2 | 26200.8875 | 26200.8875 या बाद का |
| विंडोज 11 26H1 | 28000.2525 | 28000.2525 या बाद का |
| फ़ाइल | उद्देश्य |
|---|
localservice_identity.txt | CVE-लॉन्च किए गए चरण का उपयोगकर्ता नाम, SID और PID |
localservice_whoami.txt | पूर्ण टोकन समूह और विशेषाधिकार |
escalation.log | वैकल्पिक टोकन-प्रतिरूपण सहायक से आउटपुट |
escalation_status.txt | सहायक प्रक्रिया निर्माण/त्रुटि/निकास स्थिति |
system_shell_status.txt | सक्रिय-सत्र शेल निर्माण परिणाम |