
NextGen Connect 4.5.2 की तीन vulnerabilities के लिए कार्यशील PoCs।
NextGen Connect (Mirth Connect) 4.5.2 में तीन नेटवर्क-पहुँच योग्य कमज़ोरियों के लिए कार्यशील proof-of-concept exploits। ये harnesses आधिकारिक container image चलाते हैं, केवल finding के लिए आवश्यक channel configuration बनाते हैं, हमले को एक अलग container से निष्पादित करते हैं, और तब तक विफल रहते हैं जब तक कि दावा किया गया सुरक्षा प्रभाव देखा न जाए।
इस समीक्षा में सार्वजनिक Refute-or-Promote methodology और इसकी open-source orchestration playbook का उपयोग किया गया। यह विधि candidate generation को fresh-context adversarial review से अलग करती है और promotion से पहले empirical proof की आवश्यकता होती है। कमज़ोर 4.5.2 source और समीक्षा विधि दोनों सार्वजनिक हैं: सामान्य model access, source, और lab में सुरक्षित रूप से validate करने की क्षमता रखने वाला कोई भी व्यक्ति इसी प्रक्रिया को लागू कर सकता है, और इन bug classes को स्वतंत्र रूप से खोज सकता था। एक रिपोर्ट के आसपास गोपनीयता अंतर्निहित समीक्षा क्षमता को निजी नहीं बनाती।
ये वास्तविक exploits हैं, parser unit tests नहीं। ये SQL injection के माध्यम से एक live password hash पुनर्प्राप्त करते हैं, दो अलग unauthenticated XML paths के माध्यम से target-local file contents को exfiltrate करते हैं, और restart तक bundled-Derby-backed operations को block करते हैं।
| CVE | Finding | Attacker | Demonstrated impact | CVSS 3.1 / 4.0 | PoC |
|---|---|---|---|---|---|
| CVE-2026-82583 | _getTables selectLimit injection | Authenticated API user | Password-table export to the public web root; bundled Derby freeze until restart | 8.3 / 7.2 | sql-selectlimit-injection/ |
| CVE-2026-78224 | XSLT Step XXE | Unauthenticated channel client | OOB read of a target-local file; channel-local slow-entity DoS | 8.2 / 8.8 | xslt-step-xxe/ |
| CVE-2026-82578 | XML Batch Adaptor XXE | Unauthenticated channel client | OOB read of a target-local file | 7.5 / 8.7 | xml-batch-xxe/ |
CVSS 3.1 और 4.0 अलग-अलग मानक हैं; युग्मित स्कोर before-and-after तुलना नहीं हैं।
तीनों को निम्नलिखित के विरुद्ध पुनरुत्पादित किया गया:
nextgenhealthcare/connect:4.5.2
sha256:4afa295cfe7c5ffd596efee69594157fea87202e33d66bb4a98a52db4598f836
NextGen ने निजी तौर पर बताया कि XSLT समस्या 4.7.1 में ठीक की गई थी और SQL injection तथा XML Batch समस्याएँ 4.7.2 में ठीक की गई थीं। CISA advisory ICSMA-26-253-01 4.7.1 और उससे पहले को प्रभावित मानता है और 4.7.2 या बाद के संस्करण की सिफारिश करता है। 4.5 के बाद के releases proprietary हैं, इसलिए कोई सार्वजनिक fixed image नहीं है जिससे यह repository open-source patch release के लिए उपयोग किए गए उसी प्रकार का reproducible negative control प्रदान कर सके।
administrative API पर एक authenticated foothold उस डेटा तक पहुँच बन जाता है जिसे account को export करने के लिए नहीं बनाया गया था। packaged exploit live PERSON_PASSWORD row को public_html के नीचे लिखता है और सिद्ध करता है कि परिणामी फ़ाइल बिना authentication के डाउनलोड करने योग्य है। महत्वपूर्ण चरण एक restricted API action से disk पर ऐसी फ़ाइल तक जाना है जिसके लिए अब हमलावर के session की बिल्कुल भी आवश्यकता नहीं है।
वास्तविक integration environment में, database उन channels, endpoints, और credentials का वर्णन कर सकता है जिनका उपयोग databases, SFTP servers, mail relays, APIs, और अन्य clinical systems तक पहुँचने के लिए किया जाता है। एक अलग controlled test ने exported channel XML से जानबूझकर लगाया गया connector password पुनर्प्राप्त किया। यह primitive को environment mapping और secret theft के लिए उपयोगी बनाता है; downstream system के विरुद्ध किसी भी पुनर्प्राप्त credential का उपयोग परीक्षण नहीं किया गया और इसका दावा नहीं किया जाता।
वैकल्पिक denial-of-service arm bundled Derby database को freeze कर देता है। DB-backed API calls तब time out हो जाती हैं, वही injection अपने ही entrypoint को unfreeze नहीं कर सकता, और process restart आवश्यक होता है। यह Derby-backed installations के लिए एक व्यावहारिक recovery burden है, यह प्रमाण नहीं कि external production databases भी इसी तरह व्यवहार करते हैं।
एक बार प्रभावित XSLT channel deploy हो जाने के बाद, हमलावर को किसी Mirth account की आवश्यकता नहीं होती। आने वाला XML service को एक target-local file पढ़ने और उसकी सामग्री attacker-controlled callback पर भेजने के लिए बाध्य करता है। यह तब भी उपयोगी है जब सामान्य channel response में transformed data शामिल न हो और हमलावर message history न पढ़ सके।
standalone client caller-selected single-line file: URI स्वीकार करता है। host identifiers, tokens, configuration fragments, या credentials जैसी फ़ाइलें व्यावहारिक रूप से मूल्यवान हैं यदि Mirth service account उन्हें पढ़ सकता है और server callback तक पहुँच सकता है। packaged proof केवल एक generated canary का उपयोग करता है और universal arbitrary-file recovery, multiline transport, या service account से परे access का दावा नहीं करता।
एक slow external entity default one-thread victim channel पर भी कब्जा कर लेती है। यह उस channel से mapped विशिष्ट clinical interface को तब तक विलंबित या रोक सकता है जब तक entity release न हो जाए। control channel और administrative API स्वस्थ रहते हैं, इसलिए यह channel-local disruption है, पूरे server का outage नहीं।
जब प्रभावित XML batch mode सक्षम होता है, तो unauthenticated sender raw batch body का उपयोग करके उसी प्रकार का outbound file disclosure trigger कर सकता है। Server HTTP 500 लौटाता है, लेकिन हमलावर के पास पहले से ही OOB callback के माध्यम से target-only file content होता है। यह इस flaw को blind exfiltration path के रूप में व्यावहारिक रूप से उपयोगी बनाता है, भले ही केवल response-code पर आधारित testing request को parser failure मानकर खारिज कर दे।
Batch processing default रूप से बंद होती है, split mode को XPath-backed parser तक पहुँचना चाहिए, और server egress आवश्यक है। यह repository CVE-2026-82578 के लिए demonstrated denial of service का दावा नहीं करता।
Requirements: Bash, Docker, x86-64 Linux, और प्रारंभिक image pull के लिए network access। दोनों images digest-pinned हैं। कोई host port publish नहीं किया जाता; target और attacker केवल task-specific internal Docker bridge पर संवाद करते हैं।
./run-all.sh
या एक single finding चलाएँ:
./sql-selectlimit-injection/poc/run.sh
./xslt-step-xxe/poc/run.sh
./xml-batch-xxe/poc/run.sh
प्रत्येक invocation uniquely named containers और एक bridge network बनाता है, evidence/current-run.log रिकॉर्ड करता है, और exit पर अपने स्वयं के lab resources हटा देता है। checked-in evidence/vulnerable-4.5.2.log फ़ाइलें x86-64 Linux replay की transcripts हैं।