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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
postgres-basebackup-symlink — PostgreSQL 18.6 - उच्च - रिमोट - फ़ाइल लेखन - pg_basebackup CVE-2026-6475 के शेष पूर्ण tar symlink का अनुसरण करता है | Kitploit
उपकरण/GitHubGitHub/abraxas/postgres-basebackup-symlink
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेपर और शोधडेटाबेस सुरक्षालैब और अभ्यास
GitHubabraxas/postgres-basebackup-symlink

postgres-basebackup-symlink

PostgreSQL 18.6 - उच्च - रिमोट - फ़ाइल लेखन - pg_basebackup CVE-2026-6475 के शेष पूर्ण tar symlink का अनुसरण करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - postgres-basebackup-symlink

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  postgres-basebackup-symlink

राइट-अप: https://abraxaslabs.tech/research/postgres-basebackup-symlink

postgres-basebackup-symlink

वर्ग: फ़ाइल लेखन पहुँच: रिमोट

PostgreSQL 18.6 (724edf9) - PostgreSQL Global Development Group

CVE-2026-6475 ने tar सदस्य नामों के लिए path_is_safe_for_extraction जोड़ा। पूर्ण सिमलिंक लक्ष्य अभी भी उस जाँच को छोड़ देते हैं ताकि टेबलस्पेस काम कर सकें। इसके बाद astreamer_file.c लक्ष्य पर symlink() करता है और बाद में fopen(..., "wb") उसका अनुसरण करता है। डिफ़ॉल्ट pg_basebackup प्रारूप सादा (-F p) है। pg_rewind का create_target_symlink पथ की जाँच करता है और कभी लिंक नहीं करता।

एक शत्रुतापूर्ण स्रोत जो BASE_BACKUP बोलता है, एक पूर्ण सिमलिंक लगा सकता है और उस फ़ाइल को अधिलेखित कर सकता है जिसे बैकअप UID लिख सकता है। वही पीड़ित मॉडल जो 6475 का है। यह सदस्य-नाम जाँचों का पुनः-फाइलिंग नहीं है।

IDअभी तक कोई CVE नहीं
वर्गफ़ाइल लेखन (CVE-2026-6475 का पूर्ण tar सिमलिंक अवशेष)
पहुँचरिमोट (UI:R क्लाइंट बनाम शत्रुतापूर्ण PostgreSQL)
CWECWE-59, CWE-22
CVSSउच्च: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
उत्पादPostgreSQL
प्रभावित18.6 टैग REL_18_6 (724edf9bde9d356724ad384a2e196edc3c9f80f7), इन-ट्री pg_basebackup / pg_rewind
प्रमाणीकरणपीड़ित शत्रुतापूर्ण स्रोत के विरुद्ध डिफ़ॉल्ट pg_basebackup -D <dir> चलाता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

एक हमलावर क्या कर सकता है

जो कोई भी किसी ऑपरेटर से अपने PostgreSQL के विरुद्ध pg_basebackup -D चलवा सकता है (CVE-2026-6475 के समान UI:R मॉडल), वह -D के बाहर लिख सकता है।

विशेषाधिकारविधि / सिंकलैब-प्रमाणित या अनुमानित
अखंडता: -D के बाहर एक फ़ाइल लिखनाशत्रुतापूर्ण BASE_BACKUP tar: typeflag '2' सदस्य जिसका सुरक्षित सापेक्ष नाम (pg_tblspc/16384) और एक पूर्ण लिंक लक्ष्य है, फिर उस नाम के अंतर्गत एक नियमित सदस्य। extract_link फिर create_file_for_extract fopen(..., "wb") बिना O_NOFOLLOW केलैब-प्रमाणित। /work/oracle/ पर POSTGRES-BASEBACKUP-SYMLINK-WITNESS लिखा। Dest में सिमलिंक है। नियंत्रण tar (बिना सिमलिंक) ने oracle को खाली छोड़ा और केवल -D के अंदर PG_VERSION लिखा
अखंडता: shell rc, authorized_keys, एक systemd उपयोगकर्ता यूनिट, या crontab को अधिलेखित करनावही सिंक, कोई भी पथ जिसे क्लाइंट UID लिख सकता हैअनुमानित। यह लैब उन फ़ाइलों को नहीं छूता
उपलब्धता: क्लाइंट कॉन्फ़िग या कुंजियों को नष्ट करनावही लेखनअनुमानित। प्रदर्शित नहीं किया गया
क्लाइंट डिस्क की टोहextract लेखन है, पठन नहींबंद
.. या पूर्ण सदस्य नामों पर चलनाpath_is_safe_for_extractionबंद। वह CVE-2026-6475 है
सर्वर-साइड अनप्रिव SQL / अनॉथ प्रोटोकॉल18.6 डिफ़ॉल्ट सर्वरबंद। यह अवशेष क्लाइंट है
केवल-tar बैकअपpg_basebackup -F t tar को बिना निकाले संग्रहीत करता हैबंद
postgres के अंदर RCEयह सिंक नहींबंद

pg_rewind में वही create_target_symlink / open() अवशेष है। यह लैब केवल pg_basebackup को चलाता है।

मैंने इसे कैसे खोजा

मैंने 18.6 लहर (28 CVE, साथ ही इस ट्री पर पहले से मौजूद 18.4/18.2 सेट) के बाद postgres/postgres REL_18_6 को पिन किया। बाईस खोजें। डिफ़ॉल्ट सर्वर, अनप्रिव SQL, अनॉथ प्रोटोकॉल: इस बार पर कोई नहीं। CVE-2026-6475 पुनः-पठन के लिए सहोदर था।

सदस्य नामों की जाँच होती है। पूर्ण सिमलिंक लक्ष्यों की नहीं:

if (!is_absolute_path(linktarget) &&
    !path_is_safe_for_extraction(member->linktarget))
{
    pg_fatal("link target has unsafe path name: \"%s\"",
             member->linktarget);
}
extract_link(mystreamer->filename, linktarget);

create_file_for_extract अभी भी fopen(filename, "wb") है। astreamer_file.c:351-356 पर टिप्पणी कहती है कि मैपिंग लिंक के pg_tblspc के अंदर होने की जाँच किए बिना लागू की जाती है।

पहले से दर्ज गलत रास्ते: 6475 को बंद मानकर आगे बढ़ जाना; -D को किसी लाइव डेटा डायरेक्टरी पर इंगित करना; दिखावे के लिए shell rc को ओवरराइट करना। एक ईमानदार 18.6 सर्वर केवल pg_tblspc/<oid> सिमलिंक उत्सर्जित करता है और tablespace की सामग्री को एक अलग आर्काइव में रखता है। एक दुर्भावनापूर्ण स्रोत जो BASE_BACKUP बोलता है, अनुवर्ती नियमित सदस्य को उसी tar में रख सकता है। यही बचा हुआ हिस्सा है।

Lab

python3 postgres-basebackup-symlink-Abraxas-Labs.py

या

cd lab
./run.sh

postgres:18.6 को स्रोत इमेज के रूप में, एक BASE_BACKUP स्पीकर चलाते हुए। क्लाइंट उसी टैग से इन-ट्री pg_basebackup है (pg_basebackup (PostgreSQL) 18.6)। लूपबैक 127.0.0.1:19370। Compose प्रोजेक्ट postgres-basebackup-symlink। -D को किसी लाइव डेटा डायरेक्टरी पर न लक्षित करें।

SUCCESS postgres-basebackup-symlink control-inside=yes oracle-outside=yes dest-is-symlink=yes image=postgres:18.6 how=pg_basebackup POSTGRES-BASEBACKUP-SYMLINK-WITNESS

समाधान

पूर्ण सिमलिंक लक्ष्यों को असुरक्षित मानें जब तक कि उन्हें --tablespace-mapping द्वारा पुनः लिखा न गया हो। एक्सट्रैक्ट फ़ाइलों को O_NOFOLLOW / lstat के साथ खोलें ताकि किसी रखे गए लिंक का अनुसरण न किया जा सके। path_is_safe_for_extraction को link के साथ-साथ path पर भी लागू करें। ऐसे नियमित सदस्य को अस्वीकार करें जिसका पथ -D से बाहर गए सिमलिंक से होकर जाता है।

संदर्भ

  • github.com/postgres/postgres टैग REL_18_6 (724edf9bde9d356724ad384a2e196edc3c9f80f7)
  • src/fe_utils/astreamer_file.c · src/fe_utils/astreamer_tar.c
  • src/bin/pg_rewind/file_ops.c
  • निकटवर्ती पैच किया गया (सदस्य नाम, यह लक्ष्य नहीं): CVE-2026-6475
  • CWE-59 · CWE-22

लाइसेंस

GNU Affero GPL v3.0. देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।

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