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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cakephp-smtp-crlf — CakePHP 5.4.2 - उच्च - रिमोट - हेडर इंजेक्शन - SmtpTransport में GHSA-2qh5 का अकेला LF अवशेष | Kitploit
उपकरण/GitHubGitHub/abraxas/cakephp-smtp-crlf
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणसुरक्षा वर्चुअलाइजेशनवेब सुरक्षापेनिट्रेशन टेस्टिंगईमेल सुरक्षा
GitHubabraxas/cakephp-smtp-crlf

cakephp-smtp-crlf

CakePHP 5.4.2 - उच्च - रिमोट - हेडर इंजेक्शन - SmtpTransport में GHSA-2qh5 का अकेला LF अवशेष

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - cakephp-smtp-crlf

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  cakephp-smtp-crlf

cakephp-smtp-crlf

वर्ग: मेल हेडर इंजेक्शन पहुँच: रिमोट

CakePHP 5.4.2 (887b641) - Cake Software Foundation

GHSA-2qh5 / CVE-2026-77634 ने SmtpTransport और MailTransport पर str_replace("\r\n", '', $val) जोड़ा। यह कॉलबैक एक अकेले LF या CR के लिए निष्क्रिय (no-op) है। हेडर नाम अभी भी बिना सैनिटाइज़ किए जोड़े जाते हैं। PHP mail() और हमारे द्वारा कैप्चर किए गए SMTP DATA एक अकेले LF को एक नई हेडर लाइन के रूप में मानते हैं।

यदि कोई ऐप उपयोगकर्ता डेटा को किसी कस्टम हेडर में कॉपी करता है, तो एक हमलावर CRLF के बजाय LF भेजकर Bcc जोड़ सकता है, Subject को फिर से लिख सकता है, या बॉडी में घुस सकता है। घोषित फिक्स इसे नहीं रोकता। स्टॉक cakephp/app स्वयं अनुरोध डेटा को कस्टम हेडर में नहीं डालता।

IDअभी तक कोई CVE नहीं
वर्गमेल हेडर इंजेक्शन (GHSA-2qh5 का अकेला LF अवशेष)
पहुँचरिमोट (GHSA-2qh5 के समान: ऐप उपयोगकर्ता डेटा को Message::setHeaders में कॉपी करता है)
CWECWE-93
CVSSउच्च: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
उत्पादCakePHP
प्रभावित5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63)
प्रमाणीकरणGHSA-2qh5 के समान: ऐप उपयोगकर्ता डेटा को Message::setHeaders / addHeaders में कॉपी करता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

इसके लिए एक ऐसे एप्लिकेशन की आवश्यकता है जो अनुरोध डेटा को कस्टम मेल हेडर में डालता है।

विशेषाधिकारविधि / सिंकलैब-प्रमाणित या अनुमानित
SMTP DATA हेडर ब्लॉक में एक अतिरिक्त Bcc: (या Cc: / To:) लाइन इंजेक्ट करेंsetHeaders(['X-Meta' => "ok\nBcc: [email protected]"]) फिर SmtpTransport::sendलैब-प्रमाणित। SMTP DATA और getHeadersString दोनों एक नई Bcc: लाइन दिखाते हैं। साक्षी X-Oracle: CAKEPHP-SMTP-CRLF-WITNESS
MailTransport के माध्यम से वही इंजेक्शनMailTransport::send में वही कॉलबैकMailTransport include सूची और strip कॉलबैक के साथ getHeadersString पर लैब-प्रमाणित। यह लैब PHP mail() को कॉल नहीं करता
अकेला CR और अकेला LF दोनोंok\rBcc: ...लैब-प्रमाणित। केवल-जोड़ी strip \r छोड़ देता है; CR/LF पर विभाजित करने वाले हेडर पार्सर इसे एक नई लाइन मानते हैं
Subject को फिर से लिखें या बॉडी में घुसेंमान में \nSubject: या \n\n हैउसी संयोजन से अनुमानित। लैब ने Bcc / X-Oracle इंजेक्ट किया, Subject नहीं
अतिरिक्त envelope प्राप्तकर्ताDATA के अंदर इंजेक्ट किया गया Bccअनुमानित। कुछ MTA DATA को फिर से पार्स करते हैं। Cake का RCPT TO अभी भी केवल Message ऑब्जेक्ट पर setTo / setCc / setBcc का उपयोग करता है
दो-बाइट \r\n जोड़ीGHSA-2qh5 stripलैब-प्रमाणित बंद। नियंत्रण okBcc:... को संयोजित करता है
स्केलेटन ऐप पर अनप्रमाणित RCEयह अवशेष नहींबंद
मल्टीपार्ट filename= CRLF5.4.2 पहले से ही "/\r/\n को strip करता हैबंद

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

मैंने GHSA-2qh5, GHSA-fxf7, GHSA-vjqc, और 5.4.2 filename= नोट के बाद cakephp/cakephp 5.4.2 को पिन किया। ट्रांसपोर्ट परीक्षण केवल "line one\r\nline two" भेजते हैं और line oneline two की अपेक्षा करते हैं।

SmtpTransport 5.4.2:

$headers = $message->getHeadersString(
    [...],
    "\r\n",
    function (string $val): string {
        return str_replace("\r\n", '', $val);
    },
);

MailTransport वही कॉलबैक उपयोग करता है। Message::getHeadersString कॉलबैक को मानों पर मैप करता है, फिर $key . ': ' . $val करता है।

पहले से दर्ज गलत रास्ते: GHSA-2qh5 को बंद मानकर चले जाना; लैब में PHP mail() को कॉल करना (oracle SMTP DATA और getHeadersString है); इसे स्केलेटन ऐप पर अनप्रमाणित RCE तक बढ़ा-चढ़ाकर बताना। नाटक: एक रिवर्स शेल।

लैब

python3 cakephp-smtp-crlf-Abraxas-Labs.py

या

cd lab
./run.sh

PHP 8.3 में Composer cakephp/cakephp:5.4.2। 127.0.0.1:19410 पर लूपबैक SMTP सिंक।

  1. नियंत्रण: X-Meta = ok\r\nBcc: [email protected]\r\nX-Oracle: CAKEPHP-SMTP-CRLF-WITNESS। परिणाम: एक हेडर X-Meta: okBcc: [email protected]: CAKEPHP-SMTP-CRLF-WITNESS।
  2. केस LF: केवल \n के साथ वही पेलोड। परिणाम: SMTP DATA, Smtp getHeadersString, और Mail getHeadersString में नई Bcc: और X-Oracle: लाइनें।
  3. केस CR: केवल \r के साथ वही। वही अतिरिक्त लाइनें।
SUCCESS cakephp-smtp-crlf pin=5.4.2 control-crlf-stripped=yes lf-bcc=yes cr-leftover=yes how=smtp-data-bcc-line CAKEPHP-SMTP-CRLF-WITNESS

फिक्स

हेडर नामों और मानों में किसी भी \r या \n को strip करें या अस्वीकार करें (5.4.2 filename= सैनिटाइज़र के समान)। ट्रांसपोर्ट परीक्षणों में केवल \r\n जोड़ी ही नहीं, बल्कि अकेले LF और अकेले CR को भी कवर करें।

संदर्भ

  • github.com/cakephp/cakephp टैग 5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63)
  • src/Mailer/Transport/SmtpTransport.php · src/Mailer/Transport/MailTransport.php · src/Mailer/Message.php
  • निकटवर्ती पैच किया गया (केवल जोड़ी): GHSA-2qh5-382h-3jpc / CVE-2026-77634
  • CWE-93

लाइसेंस

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

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