Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-55511 — Yamcs Mission Control System में Yarch SQL Double-Quoted Identifiers में Java Statement Injection के माध्यम से Remote Code Execution (RCE)Yamcs Mission Control System में Yarch SQL Double-Quoted Identifiers में Java Statement Injection के माध्यम से Remote Code Execution (RCE) | Kitploit
उपकरण/GitHubGitHub/junfuture1103/cve-2026-55511
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubjunfuture1103/cve-2026-55511

CVE-2026-55511

Yamcs Mission Control System में Yarch SQL Double-Quoted Identifiers में Java Statement Injection के माध्यम से Remote Code Execution (RCE)Yamcs Mission Control System में Yarch SQL Double-Quoted Identifiers में Java Statement Injection के माध्यम से Remote Code Execution (RCE)

रिपॉजिटरी देखेंवेबसाइट
11 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2026-55511: Yamcs StreamSQL प्रमाणित RCE

CVE-2026-55511 के लिए गैर-हथियारीकृत प्रूफ ऑफ कॉन्सेप्ट और तकनीकी दस्तावेज़ीकरण, Yamcs StreamSQL एग्रीगेट-एक्सप्रेशन कंपाइलर में एक प्रमाणित Java कोड-इंजेक्शन भेद्यता।

फ़ील्डमान
उत्पादYamcs (org.yamcs:yamcs-core)
सलाहकारGHSA-3g44-3m7x-cgg2
कमज़ोरीCWE-94: कोड उत्पादन का अनुचित नियंत्रण
गंभीरतागंभीर, CVSS 3.1: 9.1
वेक्टरCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
आवश्यक विशेषाधिकारSystemPrivilege.ControlArchiving
फिक्स्ड रिलीज़Yamcs 5.13.2 और 5.12.8
मेनलाइन पैचb65a3d78178ba99a58b753feda6ecc3b5a694f13

अवलोकन

Yamcs StreamSQL ऑब्जेक्ट्स के लिए डबल-कोटेड नाम स्वीकार करता है और, प्रभावित रिलीज़ में, उन नामों के अंदर लगभग किसी भी वर्ण की अनुमति देता है। एग्रीगेट एक्सप्रेशन जैसे sum(...) कॉलम नामों का उपयोग करके गतिशील रूप से Java स्रोत बनाते हैं और उस स्रोत को Janino SimpleCompiler से कंपाइल करते हैं।

कमज़ोर कोड जनरेट किए गए Java पहचानकर्ता में कॉलम नाम रखने से पहले केवल न्यूनतम नाम सैनिटाइज़ेशन लागू करता है। ControlArchiving वाला एक प्रमाणित उपयोगकर्ता एक क्राफ्टेड कोटेड कॉलम नाम बना सकता है, POST /api/archive/{instance}:executeSql के माध्यम से एग्रीगेट कंपाइलर तक पहुँच सकता है, और Yamcs सर्वर JVM के अंदर हमलावर-प्रभावित Java निष्पादित कर सकता है।

यह इच्छित Yamcs प्राधिकरण सीमा को पार करता है: ControlArchiving आर्काइव, तालिका, और स्ट्रीम प्रबंधन की अनुमति देता है, लेकिन सर्वर पर मनमाना Java निष्पादन जानबूझकर प्रदान नहीं करता है।

प्रभावित संस्करण

रिलीज़ लाइनप्रभावितफिक्स्ड
5.13.x5.13.1 और इससे पहले5.13.2
5.12.x5.12.7 और इससे पहले5.12.8

Yamcs 5.13.2, 5.12.8, या बाद के समर्थित रिलीज़ में अपग्रेड करें।

तकनीकी विवरण

कमज़ोर डेटा प्रवाह है:

root@kitploit:~
POST /api/archive/{instance}:executeSql
  -> TableApi.executeSql
  -> Yarch StreamSQL parser
  -> double-quoted object name
  -> SelectExpression aggregate binding
  -> SumExpression.aggregateFillCode_newData
  -> Expression.fillCode_InputDefVars
  -> CompilableAggregateExpression.getCompiledAggregate
  -> Janino SimpleCompiler.cook
  -> attacker-influenced Java executes in the Yamcs JVM

तीन शर्तें मिलकर समस्या उत्पन्न करती हैं:

  1. कमज़ोर S_DOUBLE_QUOTED_IDENTIFIER व्याकरण CR, LF, और " को छोड़कर किसी भी वर्ण को स्वीकार करता है।
  2. Expression.fillCode_InputDefVars कॉलम नाम से एक Java वेरिएबल नाम प्राप्त करता है। इसका sanitizeName सहायक केवल / और - को बदलता है।
  3. जनरेट किया गया एग्रीगेट वर्ग Janino के साथ बिना किसी प्रतिबंधात्मक एक्सप्रेशन सैंडबॉक्स के कंपाइल और लोड किया जाता है।

यह Java सिंटैक्स वर्ण जैसे सेमीकोलन, व्हाइटस्पेस, कोष्ठक, असाइनमेंट ऑपरेटर, और डॉट को जनरेट किए गए newData(Tuple) विधि में उपलब्ध छोड़ता है। नंगे-एक्सप्रेशन पथ के विपरीत, एग्रीगेट विधि पहुँच योग्य स्टेटमेंट संदर्भ प्रदान करती है जिसमें इंजेक्ट किए गए स्टेटमेंट कंपाइल और निष्पादित हो सकते हैं।

पूर्व शर्तें और प्रभाव

शोषण के लिए एक प्रमाणित खाते की आवश्यकता होती है जिसमें SystemPrivilege.ControlArchiving हो। उस विशेषाधिकार के बिना एक खाता TableApi.executeSql प्राधिकरण जाँच द्वारा अस्वीकार कर दिया जाता है।

सफल शोषण Yamcs सेवा प्रक्रिया के विशेषाधिकारों के साथ Java चलाता है। तैनाती अलगाव के आधार पर, यह मिशन डेटा और होस्ट वातावरण की गोपनीयता, अखंडता, और उपलब्धता को प्रभावित कर सकता है। यह एक अप्रमाणित RCE नहीं है और अपने आप में Yamcs प्रक्रिया को उसके ऑपरेटिंग-सिस्टम या कंटेनर अनुमतियों से परे नहीं बढ़ाता है।

प्रूफ ऑफ कॉन्सेप्ट

शामिल poc.py जानबूझकर गैर-हथियारीकृत है:

  • यह किसी लाइव Yamcs सर्वर से संपर्क नहीं करता है;
  • यह कोई ऑपरेटिंग-सिस्टम कमांड निष्पादित नहीं करता है;
  • यह स्थानीय Yamcs चेकआउट में प्रासंगिक कमज़ोर स्रोत श्रृंखला को सत्यापित करता है;
  • यह एग्रीगेट कोड-जनरेशन पैटर्न का एक छोटा Java मॉडल बनाता है; और
  • यह केवल एक सौम्य JVM प्रॉपर्टी मार्कर सेट करता है।

आवश्यकताएँ

  • Python 3.9+
  • एक स्थानीय Yamcs स्रोत चेकआउट
  • वैकल्पिक JDK (javac और java) सौम्य मार्कर परीक्षण के लिए

चलाएँ

root@kitploit:~
cd /path/to/yamcs
python3 /path/to/poc.py \
  --json /tmp/evidence.json \
  --log /tmp/crash_evidence.log \
  --expect-crash

अपेक्षित संकेतक:

root@kitploit:~
source_chain_confirmed=true
generated_source_injection_present=true
marker_executed=true

साक्ष्य

  • evidence/evidence.json: संरचित स्रोत-श्रृंखला और Java-मॉडल परिणाम
  • evidence/crash_evidence.log: संक्षिप्त सत्यापन लॉग

शामिल साक्ष्य Yamcs स्रोत कमिट 98a05e95461207c143e4297ec4bb1b5a76e9cb19 के विरुद्ध उत्पादित किए गए थे। यह कमज़ोर स्रोत श्रृंखला, जनरेटेड-स्रोत इंजेक्शन, और सौम्य मार्कर निष्पादन की पुष्टि करता है।

आधिकारिक पैच

अपस्ट्रीम फिक्स का शीर्षक है Avoid RCE through double-quoted identifiers:

  • मेनलाइन / 5.13.x: b65a3d78178ba99a58b753feda6ecc3b5a694f13, 5.13.2 में रिलीज़
  • 5.12.x बैकपोर्ट: 8c1070b12c0a6c003903325cb2a1013347e2dbde, 5.12.8 में रिलीज़

मुख्य परिवर्तन डबल-कोटेड पहचानकर्ताओं को लगभग अप्रतिबंधित वर्ण सेट से प्रतिबंधित करता है:

root@kitploit:~
< S_DOUBLE_QUOTED_IDENTIFIER: "\"" (~["\n","\r","\""])* "\"" >

से एक अनुमति सूची में अक्षर, अंक, $, _, #, और .:

root@kitploit:~
< S_DOUBLE_QUOTED_IDENTIFIER: "\"" (<LETTER> | <DIGIT> | <SPECIAL_CHARS>)+ "\"" >

यह नाम के Java कोड जनरेशन तक पहुँचने से पहले रिपोर्ट किए गए इंजेक्शन के लिए आवश्यक स्टेटमेंट-पृथक्करण और एक्सप्रेशन-निर्माण वर्णों को अस्वीकार करता है। पैच जनरेट किए गए पार्सर फ़ाइलों, दस्तावेज़ीकरण, और एक संबंधित परीक्षण को भी अपडेट करता है।

प्रतिबंध रिक्त स्थान या गैर-अनुमत विराम चिह्न वाले मौजूदा कोटेड ऑब्जेक्ट नामों को प्रभावित कर सकता है। अपग्रेड या बैकपोर्ट करने से पहले StreamSQL स्कीमा और ऑटोमेशन की समीक्षा करें।

CVE-2026-44632 से अंतर

CVE-2026-55511, CVE-2026-44632 / GHSA-524g-x36v-9wm6 से एक अलग प्रवेश बिंदु है। CVE-2026-44632 JavaExprAlgorithmExecutionFactory से संबंधित है, मिशन-डेटाबेस एल्गोरिथम ओवरराइड कार्यक्षमता के माध्यम से पहुँचा जाता है, और ChangeMissionDatabase द्वारा गेट किया जाता है।

यह समस्या org.yamcs.yarch.streamsql में है, executeSql के माध्यम से पहुँचा जाता है, और ControlArchiving द्वारा गेट किया जाता है। पहले के 5.13.0 / 5.12.7 एल्गोरिथम-पथ फिक्स ने StreamSQL कंपाइलर या इसके कोटेड-पहचानकर्ता हैंडलिंग को संशोधित नहीं किया।

अतिरिक्त दस्तावेज़ीकरण

  • VULNERABILITY_REPORT.md: विस्तारित भेद्यता रिपोर्ट
  • PATCH_ANALYSIS.md: विस्तृत अपस्ट्रीम पैच विश्लेषण और अनुकूलता नोट्स

संदर्भ

  • आधिकारिक Yamcs सुरक्षा सलाहकार: GHSA-3g44-3m7x-cgg2
  • आधिकारिक मेनलाइन फिक्स कमिट
  • आधिकारिक 5.12.x फिक्स कमिट

इस सामग्री का उपयोग केवल उन प्रणालियों में करें जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आप स्पष्ट रूप से अधिकृत हैं।

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