Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
POC-CopyEscape-CVE-2026-17106 — CVE-2026-17106 (CopyEscape) का कार्यात्मक PoC: docker cp में TOCTOU रेस जो Docker होस्ट पर मनमाना लेखन (arbitrary write) की अनुमति देता है। Docker लैब + inotify मॉनिटर + LD_PRELOAD। macOS के लिए हानिरहित और Linux के लिए विनाशकारी वैरिएंट। | Kitploit
उपकरण/GitHubGitHub/686f6c61/poc-copyescape-cve-2026-17106
विशेषाधिकार वृद्धिकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणलर्निंग और शिक्षाकंटेनर एस्केपप्रतिकूल हमलालैब और अभ्यास

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
686f6c61/poc-copyescape-cve-2026-17106

POC-CopyEscape-CVE-2026-17106

CVE-2026-17106 (CopyEscape) का कार्यात्मक PoC: docker cp में TOCTOU रेस जो Docker होस्ट पर मनमाना लेखन (arbitrary write) की अनुमति देता है। Docker लैब + inotify मॉनिटर + LD_PRELOAD। macOS के लिए हानिरहित और Linux के लिए विनाशकारी वैरिएंट।

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

CopyEscape — CVE-2026-17106 का PoC

CopyEscape (CVE-2026-17106) की शैक्षिक Proof of Concept — docker cp में TOCTOU रेस स्थिति भेद्यता जो एक दुर्भावनापूर्ण कंटेनर को Docker होस्ट पर मनमानी फ़ाइलें लिखने की अनुमति देती है। masasron के मूल कार्य से प्रेरित, जिन्होंने "CopyEscape: Taking Over Docker Hosts with docker cp" ब्लॉग में इस भेद्यता की खोज की और दस्तावेज़ित किया।


विषय-सूची

  1. कार्यकारी सारांश
  2. कानूनी चेतावनी
  3. श्रृंखला का आर्किटेक्चर
  4. आवश्यकताएँ
  5. रिपॉज़िटरी संरचना
  6. त्वरित उपयोग गाइड
  7. शोषण का सत्यापन
  8. मूल से तुलना
  9. शमन
  10. श्रेय
  11. लाइसेंस

कार्यकारी सारांश

CVE-2026-17106 docker cp <कंटेनर>:<पथ> <गंतव्य> के दौरान Docker डेमॉन द्वारा उत्पादित tar फ़ाइल के निष्कर्षण में एक रेस स्थिति (TOCTOU) भेद्यता है। यह Docker CLI 29.6.1 और पुराने संस्करणों को प्रभावित करती है; 29.7.0 से पैच की गई। बग CLI में है (होस्ट पर tar निष्कर्षण), डेमॉन में नहीं।

CopyEscape नामित यह श्रृंखला दर्शाती है कि केवल एक चालू कंटेनर से, बिना किसी अतिरिक्त क्षमता के, एक हमलावर यह कर सकता है:

  1. एक वास्तविक निर्देशिका /watched/file.txt/ को कंटेनर के भीतर उसे खोलने वाली किसी भी प्रक्रिया के सामने एक सामान्य फ़ाइल के रूप में छुपाना, एक LD_PRELOAD लाइब्रेरी के माध्यम से जो open, openat, openat2, fopen, stat, lstat, fstatat, statx और 64 वेरिएंट को इंटरसेप्ट करती है।
  2. 16 MiB का एक चारा फ़ाइल aaa.txt बनाए रखना जो डेमॉन को tar उत्पादित करने में इतना समय लेने के लिए बाध्य करता है कि मॉनिटर रेस जीत सके।
  3. inotify के साथ डेमॉन की पहुँच पर नज़र रखना और, रेस विंडो में, रोलबैक के साथ दो परमाणु rename(2) के माध्यम से escape/ उपनिर्देशिका को होस्ट के लक्ष्य के पूर्ण symlink से बदलना (macOS पर /Users/<उपयोगकर्ता> या Linux पर /usr/bin)।
  4. परिणामी tar में symlink escape और उसके बाद एक चाइल्ड प्रविष्टि escape/<basename> होती है; कमजोर CLI क्लाइंट में symlink बनाती है और चाइल्ड प्रविष्टि को उसके माध्यम से निकालती है, उपयोगकर्ता द्वारा चुने गए गंतव्य के बाहर लिखते हुए।

परिणाम docker cp चलाने वाली प्रक्रिया के अनुमतियों के साथ होस्ट पर मनमानी फ़ाइल लेखन है। Linux वेरिएंट /usr/bin/runc को अधिलेखित करता है और अगले docker run / exec पर होस्ट पर root के रूप में कोड निष्पादन प्राप्त करता है।


कानूनी चेतावनी

इस रिपॉज़िटरी में पूर्णतः शैक्षिक और रक्षात्मक सामग्री है।

  • उद्देश्य: प्रशिक्षण, स्वयं के ऑडिट और पैच के सत्यापन के उद्देश्यों के लिए शोषण श्रृंखला का प्रदर्शन करना।
  • अधिकृत उपयोग: इसे केवल उन सिस्टमों के विरुद्ध चलाएँ जो आपके हैं या जिन पर आपके पास स्पष्ट लिखित प्राधिकरण है।
  • निषिद्ध: बिना सहमति के तीसरे पक्ष के सिस्टम के विरुद्ध कोई भी उपयोग। रिपॉज़िटरी का लेखक यहाँ शामिल सामग्री के दुरुपयोग के लिए जिम्मेदार नहीं है।
  • जिम्मेदारी: ऑपरेटर लागू कानून (स्पेन में LOPD/RGPD, अमेरिका में CFAA, आदि) के अनुपालन के लिए अकेला जिम्मेदार है।
  • Linux वेरिएंट होस्ट के runc को नष्ट कर देता है: इसे केवल सत्यापित बैकअप वाली डिस्पोजेबल VM में उपयोग करें।

PoC को एक हानिरहित macOS वेरिएंट के साथ वितरित किया जाता है (मार्कर के रूप में ~/pwnd लिखता है) जिसका एकमात्र उद्देश्य एक प्रतिलिपि-योग्य प्रदर्शन के रूप में कार्य करना है।


श्रृंखला का आर्किटेक्चर

┌─────────────────────────────────────────────────────────────────────┐
│  1. LD_PRELOAD camufla /watched/file.txt como archivo regular       │
│     open/openat/openat2/fopen/stat/lstat/fstatat/statx → decoy       │
│     docker exec ... cat /watched/file.txt  →  "top-level file"       │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  2. Layout real dentro del contenedor                               │
│     /watched/file.txt/                                               │
│     ├── aaa.txt            (16 MiB de 'B', cebo lento)               │
│     ├── escape/            (directorio real inicial)                 │
│     ├── escape/<basename>  (payload: runc o pwnd)                    │
│     └── .swap-escape       (symlink → /Users/<usr> o /usr/bin)       │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  3. docker cp pide tar al daemon                                    │
│     daemon recorre /watched/file.txt/ y abre aaa.txt                │
│     inotify detecta IN_OPEN sobre aaa.txt                           │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  4. Monitor pivot: dos rename(2) atomicos con rollback              │
│     escape/ → .old-escape/   (backup)                                │
│     .swap-escape → escape/   (symlink al target del host)            │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  5. Tar resultante contiene:                                        │
│     escape → /Users/<usr>   (symlink absoluto)                       │
│     escape/<basename>        (entrada hija que atraviesa el symlink) │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  6. CLI vulnerable extrae symlink + hija                            │
│     crea escape → /Users/<usr> en el destino local                   │
│     extrae escape/<basename> A TRAVES del symlink                    │
│     escribe /Users/<usr>/<basename> en el host                       │
└──────────────────────────────────────────┬──────────────────────────┘
                                           │
                                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  macOS: ~/pwnd con "COPYESCAPE_MACOS_DEMO"  (demo inocua)           │
│  Linux: /usr/bin/runc sobrescrito          (RCE como root)          │
└─────────────────────────────────────────────────────────────────────┘

आवश्यकताएँ

PoC macOS पर चलने के लिए बनाई गई है:

  • Docker Desktop 4.81+ चालू (डेमॉन कोई भी संस्करण हो सकता है; बग CLI में है)।
  • PATH में curl, tar, git और docker।
  • कमजोर CLI 29.6.1 (लगभग 18 MB) और आधार इमेज alpine:3.21 डाउनलोड करने के लिए इंटरनेट कनेक्शन।
  • HOME का रूप /Users/<उपयोगकर्ता> हो।

macOS वेरिएंट के लिए root की आवश्यकता नहीं है। Linux वेरिएंट के लिए root और एक डिस्पोजेबल VM आवश्यक है।

run-poc.sh रनर स्वचालित रूप से Docker की आधिकारिक साइट (download.docker.com) से कमजोर CLI 29.6.1 का बाइनरी डाउनलोड करता है। यह सिस्टम के Docker Desktop इंस्टॉलेशन को संशोधित नहीं करता: यह वर्तमान डेमॉन का उपयोग करता है, लेकिन docker cp ऑपरेशन के लिए डाउनलोड किए गए बाइनरी को लागू करता है।


रिपॉज़िटरी संरचना

POC CopyEscape (CVE-2026-17106)/
├── README.md                 ← Este archivo
├── LICENSE                   ← Licencia MIT
├── .gitignore
├── Dockerfile                ← Dockerfile unificado (macos | linux)
├── entrypoint.sh             ← Arranque del monitor sin LD_PRELOAD
├── monitor.c                 ← Monitor inotify unificado (una sola fuente)
├── watched_preload.c         ← LD_PRELOAD con cobertura ampliada
└── run-poc.sh                ← Runner robusto con reintentos
टूल डाउनलोड करें