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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-34828 — listmonk में पासवर्ड रीसेट और पासवर्ड बदलने के बाद सत्र बने रहना | Kitploit
उपकरण/GitHubGitHub/0xmrma/cve-2026-34828
भेद्यता विश्लेषणशोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरण
GitHub0xmrma/cve-2026-34828

CVE-2026-34828

listmonk में पासवर्ड रीसेट और पासवर्ड बदलने के बाद सत्र बने रहना

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

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

सभी देखें →

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

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

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

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

CVE-2026-34828

listmonk में पासवर्ड रीसेट और पासवर्ड परिवर्तन के बाद सत्र दृढ़ता

परिचय

मुझे यह समस्या listmonk की समीक्षा करते समय मिली, जो एक ओपन-सोर्स न्यूज़लेटर और मेलिंग सूची प्रबंधक है, और मेरे मन में एक सरल सुरक्षा प्रश्न था:

जब कोई उपयोगकर्ता पासवर्ड बदलता या रीसेट करता है, तो क्या एप्लिकेशन वास्तव में पहले से जारी सत्रों को समाप्त कर देता है?

इस मामले में, उत्तर नहीं था।

पहले जारी किए गए प्रमाणित सत्र दोनों ही स्थितियों के बाद मान्य बने रहे:

  • पासवर्ड रीसेट
  • पासवर्ड परिवर्तन

इसका मतलब था कि एक चोरी की गई सत्र कुकी उन सटीक सुरक्षा घटनाओं से बच सकती है जिन पर उपयोगकर्ता अपने खाते को पुनर्प्राप्त करने के लिए भरोसा करते हैं।

इस समस्या को स्वीकार किया गया और इसे CVE-2026-34828 निर्दिष्ट किया गया।

प्रोजेक्ट: GitHub पर listmonk
CVE: CVE-2026-34828

यह listmonk को प्रभावित करता है, जो 5M+ डॉकर पुल वाली एक व्यापक रूप से अपनाई गई परियोजना है।

photo0

हमले की श्रृंखला

stolen authenticated session → victim resets or changes password → old session remains valid → attacker retains account access after credential recovery


listmonk क्या करता है

listmonk एक सेल्फ-होस्टेड मेलिंग सूची और न्यूज़लेटर प्रबंधक है।

यह प्रदान करता है:

  • व्यवस्थापक प्रमाणीकरण
  • उपयोगकर्ता प्रबंधन
  • अभियान निर्माण
  • सब्सक्राइबर प्रबंधन
  • SMTP और परिचालन सेटिंग्स
  • ब्राउज़र-आधारित प्रशासन

इसका मतलब है कि इसका सत्र मॉडल एक वास्तविक सुरक्षा सीमा है।

यहाँ महत्वपूर्ण प्रश्न यह नहीं था कि listmonk पासवर्ड रीसेट का समर्थन करता है या नहीं।

असली प्रश्न था:

क्या पासवर्ड रीसेट या पासवर्ड परिवर्तन वास्तव में हमलावर की दृढ़ता को रद्द करता है यदि कोई सत्र पहले ही चोरी हो चुका है?

इस मामले में, ऐसा नहीं हुआ।


यह बग देखने लायक क्यों था

कई सुरक्षा समीक्षाएँ लॉगिन बायपास और स्पष्ट विशेषाधिकार वृद्धि पर बहुत संकीर्ण रूप से ध्यान केंद्रित करती हैं।

इससे कमजोरियों का एक महत्वपूर्ण वर्ग छूट जाता है:

पुनर्प्राप्ति विफलताएँ

यदि कोई उपयोगकर्ता पासवर्ड बदलता या रीसेट करता है, तो उस कार्रवाई का सार्थक होना चाहिए।
इसे पुराने क्रेडेंशियल्स और पुरानी प्रमाणीकरण स्थिति में भरोसा कम करना चाहिए।

यदि किसी हमलावर के पास पहले से ही एक मान्य सत्र है और वह सत्र पुनर्प्राप्ति घटना से बच जाता है, तो पीड़ित ने वास्तव में खाते को पूरी तरह से पुनर्प्राप्त नहीं किया है।

यही यहाँ समस्या थी।

यह लॉगिन सत्यापन बग नहीं था। यह क्रिप्टो समस्या नहीं थी। यह पासवर्ड हैशिंग विफलता नहीं थी।

यह एक सत्र जीवनचक्र विफलता थी:

  • पासवर्ड स्थिति बदल गई,
  • खाता पुनर्प्राप्ति हुई,
  • लेकिन पुराने सत्रों पर अभी भी भरोसा किया गया।

एक वास्तविक भेद्यता पैदा करने के लिए यह पर्याप्त है।


वह सीमा जिस पर मैंने ध्यान केंद्रित किया

मैंने listmonk तक यादृच्छिक रूप से एंडपॉइंट्स पर प्रहार करके और यह उम्मीद करके नहीं पहुँचा कि एक गिर जाएगा।

मजबूत रास्ता पहले उच्चतम-मूल्य वाली भरोसा सीमा की पहचान करना था।

प्रमाणीकरण-भारी सॉफ़्टवेयर के लिए, परीक्षण करने के लिए सबसे अच्छी सीमाओं में से एक यह है:

क्या सुरक्षा-संवेदनशील खाता परिवर्तन पहले से भरोसा किए गए सत्रों को रद्द करते हैं?

यह प्रश्न आमतौर पर इसके आसपास दिलचस्प हो जाता है:

  • पासवर्ड रीसेट
  • पासवर्ड परिवर्तन
  • 2FA परिवर्तन
  • खाता पुनर्प्राप्ति प्रवाह

listmonk में, सबसे मजबूत संकेत पहले दो से आया।

वहीं समस्या स्पष्ट हुई।


मूल कारण

बग यह नहीं था कि पासवर्ड परिवर्तन विफल हुए।

बग यह था कि सत्र उनसे अधिक समय तक जीवित रहे।

स्रोत समीक्षा से, पासवर्ड रीसेट प्रवाह:

  • एक-बार उपयोग होने वाला रीसेट टोकन उत्पन्न और मान्य किया,
  • पासवर्ड अपडेट किया,
  • एक नया सत्र बनाया,

लेकिन पुराने सत्रों का कोई दृश्यमान निरसन नहीं था।

वही पैटर्न प्रमाणित पासवर्ड परिवर्तन प्रवाह में दिखाई दिया:

  • पासवर्ड अपडेट किया गया,
  • लेकिन पहले जारी किए गए पुराने सत्र अमान्य नहीं किए गए।

यह व्यवहार लाइव परिणामों से बिल्कुल मेल खाता था।

प्रासंगिक कोड क्षेत्र जिनकी मैंने समीक्षा की:

  • cmd/auth.go forgot/reset व्यवहार के लिए
  • cmd/users.go प्रमाणित प्रोफ़ाइल अपडेट के लिए
  • internal/core/users.go पासवर्ड अपडेट हैंडलिंग के लिए

यह शोषणीय क्यों है

क्योंकि सत्र चोरी एक वास्तविक हमले की स्थिति है।

एक बार जब हमलावर किसी भी माध्यम से एक मान्य प्रमाणित सत्र कुकी प्राप्त कर लेता है, जैसे:

  • ब्राउज़र समझौता
  • मैलवेयर
  • साझा वर्कस्टेशन पहुंच
  • किसी अन्य घटक में XSS
  • प्रॉक्सी या डीबगिंग रिसाव
  • आकस्मिक कुकी एक्सपोज़र

पीड़ित को पासवर्ड बदलकर या रीसेट करके उस हमलावर की दृढ़ता को समाप्त करने में सक्षम होना चाहिए।

यहाँ, वे नहीं कर सके।

हमले की श्रृंखला सीधी थी:

  • हमलावर के पास एक मान्य सत्र कुकी है
  • पीड़ित पासवर्ड रीसेट या पासवर्ड परिवर्तन करता है
  • पुराना पासवर्ड अमान्य हो जाता है
  • नया पासवर्ड काम करता है
  • हमलावर का पुराना सत्र अभी भी सफलतापूर्वक प्रमाणित होता है

यह पूरी भेद्यता है।


इसे सिर्फ एप्लिकेशन व्यवहार नहीं, बल्कि सुरक्षा समस्या क्या बनाता है

महत्वपूर्ण अंतर पुनर्प्राप्ति के बाद दृढ़ता है।

कई एप्लिकेशन पासवर्ड परिवर्तन को विशुद्ध रूप से क्रेडेंशियल-स्तरीय घटना मानते हैं। यह पर्याप्त नहीं है।

असली प्रश्न यह नहीं है:

“क्या स्टोरेज में पासवर्ड मान बदल गया?”

असली प्रश्न यह है:

“क्या पुराने सत्रों से जुड़ा भरोसा संबंध रद्द किया गया?”

listmonk में, ऐसा नहीं किया गया।

यह उसे अधूरी सुरक्षा पुनर्प्राप्ति में बदल देता है जो सामान्य खाता रखरखाव हो सकता था।

यही अंतर है:

  • सामान्य सत्र निरंतरता
  • और एक वास्तविक सुरक्षा कमजोरी

PoC

मैंने इस समस्या को दो अलग-अलग प्रवाहों में मान्य किया।

केस 1: पासवर्ड रीसेट मौजूदा सत्रों को रद्द नहीं करता

पहले, मैंने एक सामान्य परीक्षण उपयोगकर्ता बनाया और लॉग इन किया, प्रमाणित सत्र कुकी सहेजी।

फिर मैंने forgot-password प्रवाह शुरू किया, रीसेट लिंक कैप्चर किया, और पासवर्ड रीसेट किया।

रीसेट के बाद:

  • पुराना पासवर्ड अब काम नहीं करता था
  • नया पासवर्ड काम करता था
  • लेकिन रीसेट-पूर्व पुरानी सत्र कुकी अभी भी सफलतापूर्वक प्रमाणित होती थी

एक प्रतिनिधि सत्यापन अनुरोध इस तरह दिखता था:

root@kitploit:~
GET /api/profile HTTP/1.1
Host: 127.0.0.1:9000
Cookie: session=<old_pre_reset_session>

और सर्वर अभी भी लौटाता था:

root@kitploit:~
HTTP/1.1 200 OK
Content-Type: application/json

प्रमाणित प्रोफ़ाइल के साथ।

इसने मुख्य दावा स्थापित किया:

  • पुनर्प्राप्ति पूरी हुई,
  • क्रेडेंशियल बदल गए,
  • लेकिन मौजूदा सत्र भरोसा बरकरार रहा।

केस 2: पासवर्ड परिवर्तन समानांतर सक्रिय सत्रों को रद्द नहीं करता

फिर मैंने प्रमाणित पासवर्ड परिवर्तन प्रवाह में उसी प्रकार के बग को मान्य किया।

मैंने उसी उपयोगकर्ता के रूप में दो बार लॉग इन किया और दो मान्य प्रमाणित सत्र सहेजे:

  • सत्र A
  • सत्र B

सत्र A का उपयोग करके, मैंने प्रोफ़ाइल अपडेट एंडपॉइंट के माध्यम से पासवर्ड बदला।

उदाहरण अनुरोध:

root@kitploit:~
PUT /api/profile HTTP/1.1
Host: 127.0.0.1:9000
Cookie: session=<session_A>
Content-Type: application/json

{
  "name":"victim1",
  "email":"[email protected]",
  "password":"VictimChanged123"
}

उसके बाद:

  • पुराना पासवर्ड अब काम नहीं करता था
  • नया पासवर्ड काम करता था
  • लेकिन सत्र B मान्य बना रहा

सत्र B का उपयोग करते हुए एक अनुवर्ती अनुरोध अभी भी /api/profile से प्रमाणित डेटा लौटाता था।

इसने साबित किया कि समस्या केवल forgot/reset पथ तक सीमित नहीं थी।
यह सामान्य प्रमाणित पासवर्ड परिवर्तनों को भी प्रभावित करती थी।


दोनों पुनरुत्पादन क्यों मायने रखते हैं

एक पुनरुत्पादन भी समस्या दिखाने के लिए पर्याप्त होता।

लेकिन दोनों प्रवाहों को मान्य करना दो कारणों से मायने रखता था।

पहला

इसने दिखाया कि बग केवल एक एज-केस पुनर्प्राप्ति पथ तक सीमित नहीं था।

वही सुरक्षा गुण इसमें विफल हुआ:

  • अप्रमाणित पुनर्प्राप्ति-संचालित पासवर्ड रीसेट
  • प्रमाणित इन-सेशन पासवर्ड परिवर्तन

दूसरा

इसने समस्या को आकस्मिक व्यावसायिक तर्क के रूप में खारिज करना कठिन बना दिया।

यह स्पष्ट रूप से एक व्यापक सत्र प्रबंधन कमजोरी थी:

  • पासवर्ड स्थिति बदल गई,
  • लेकिन मौजूदा सत्रों पर भरोसा बना रहा।

इसने समस्या को बहुत अधिक सुरक्षा भार दिया।


TOTP सत्यापन

मैंने TOTP-सक्षम खाते पर भी रीसेट प्रवाह का परीक्षण किया क्योंकि मैं जानना चाहता था कि क्या पासवर्ड रीसेट चुपचाप 2FA अपेक्षाओं को कमजोर या बायपास कर देगा।

मैंने जो पुष्टि की वह थी:

  • पासवर्ड रीसेट अभी भी सफल हुआ
  • TOTP सक्षम बना रहा
  • नए पासवर्ड के साथ एक नया लॉगिन अभी भी 2FA चरण पर रीडायरेक्ट हुआ
  • इसलिए यह प्रत्यक्ष 2FA बायपास नहीं था

यह एक उपयोगी सीमा जांच थी।

इसने समस्या को सही ढंग से संकुचित किया।

भेद्यता यह नहीं थी:

  • "पासवर्ड रीसेट TOTP अक्षम करता है"
  • या "पासवर्ड रीसेट TOTP बायपास करता है"

असली समस्या बनी रही:

  • पहले से जारी सत्र अभी भी संवेदनशील खाता सुरक्षा परिवर्तनों से बच गए

यह एक स्वच्छ और अधिक रक्षणीय निष्कर्ष है।


गंभीरता और वर्गीकरण

इस समस्या को उचित रूप से उच्च (High) के रूप में वर्गीकृत किया गया।

यहाँ मुख्य प्रभाव खाता सुरक्षा पुनर्प्राप्ति क्रियाओं के बाद स्थायी अनधिकृत पहुंच है।

सलाहकार वर्गीकरण था:

  • CWE-613: अपर्याप्त सत्र समाप्ति
  • CVSS: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N

यह समझ में आता है।

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

यह एक वास्तविक और रक्षणीय सत्र-प्रबंधन भेद्यता है।


यह अभी भी रिपोर्ट करने लायक क्यों था

कुछ लोग सत्र दृढ़ता बग को कम आंकते हैं क्योंकि वे मानते हैं कि सत्र चोरी पहले से ही “गेम ओवर” है।

यह बहुत सरल है।

असली प्रश्न यह है कि पीड़ित के कुछ गलत होने का पता चलने और कार्रवाई करने के बाद क्या होता है।

यदि:

  • पीड़ित पासवर्ड रीसेट करता है,
  • या इसे मैन्युअल रूप से बदलता है,
  • और हमलावर अभी भी अपना चोरी किया सत्र रखता है,

तो खाता पुनर्प्राप्ति अधूरी है।

यह केवल अजीब व्यवहार नहीं है। यह पुनर्प्राप्ति मॉडल में एक सुरक्षा विफलता है।

विशेष रूप से एक व्यवस्थापक-उन्मुख प्लेटफ़ॉर्म में, यह मजबूत गोपनीयता प्रभाव वाला एक सार्थक मुद्दा है।


फिक्स विश्लेषण

मेंटेनर ने इस समस्या को कमिट में ठीक किया:

root@kitploit:~
db82035

मुख्य फिक्स दिशा बिल्कुल वही है जिसकी इस बग को आवश्यकता थी:

  • पासवर्ड रीसेट के बाद पुराने सत्रों को अमान्य करें
  • पासवर्ड परिवर्तन के बाद पुराने सत्रों को अमान्य करें

यह सही उपचार है क्योंकि यह वास्तविक सुरक्षा गुण को लक्षित करता है जो विफल हुआ:

क्रेडेंशियल बदलने पर पुराना भरोसा समाप्त हो जाना चाहिए

इस प्रकार के बग के लिए एक अच्छा फिक्स पासवर्ड सत्यापन बदलने के बारे में नहीं है। यह खाते से जुड़ी पहले से सक्रिय सत्र स्थिति को रद्द करने के बारे में है।

यही वह हिस्सा है जो वास्तविक पुनर्प्राप्ति को बहाल करता है।


प्रकटीकरण

इस समस्या को GitHub के सुरक्षा रिपोर्टिंग प्रवाह के माध्यम से निजी तौर पर रिपोर्ट किया गया था।

मेंटेनर ने:

  • रिपोर्ट की समीक्षा की
  • इसे एक सुरक्षा समस्या के रूप में स्वीकार किया
  • व्यवहार को पैच किया
  • और समस्या को निर्दिष्ट किया गया:

CVE-2026-34828

सलाहकार प्रबंधन के दौरान एक चीज़ सामने आई वह थी दायरा।

मूल रिपोर्ट में दोनों शामिल थे:

  • पासवर्ड रीसेट सत्र दृढ़ता
  • पासवर्ड परिवर्तन सत्र दृढ़ता

GitHub ने शुरू में CVE असाइनमेंट उद्देश्यों के लिए इन्हें स्वतंत्र रूप से ठीक करने योग्य मुद्दों के रूप में माना। यह एक उपयोगी अनुस्मारक है कि सलाहकार दायरा मायने रखता है भले ही अंतर्निहित कमजोरी अवधारणात्मक रूप से समान हो।

अंतिम परिणाम CVE-2026-34828 था।


यह बग वास्तव में क्या सिखाता है

यहाँ मुख्य सबक सरल है:

क्रेडेंशियल बदलना पर्याप्त नहीं है यदि पुराना प्रमाणित भरोसा अभी भी जीवित है।

कई डेवलपर्स इस संदर्भ में सोचते हैं:

  • पासवर्ड सहीता
  • टोकन सहीता
  • लॉगिन सफलता
  • रीसेट टोकन वैधता

वे चीजें मायने रखती हैं।

लेकिन वास्तविक सुरक्षा सीमा व्यापक है:

जब कोई उच्च-जोखिम खाता घटना होती है, तो कौन सी पहले से भरोसा की गई स्थिति का भरोसा समाप्त हो जाना चाहिए?

इस मामले में, उत्तर होना चाहिए था:

  • पुराने सत्र

और listmonk ऐसा नहीं कर रहा था।

यही असली निष्कर्ष है।


मुख्य बिंदु

  • सत्र निरसन खाता पुनर्प्राप्ति सुरक्षा का हिस्सा है
  • पासवर्ड रीसेट को पहले जारी सत्रों को जीवित नहीं छोड़ना चाहिए
  • पासवर्ड परिवर्तन को समानांतर सक्रिय सत्रों को जीवित नहीं छोड़ना चाहिए
  • यदि पुनर्प्राप्ति घटनाएं भरोसा रद्द नहीं करतीं तो सत्र चोरी सार्थक बनी रहती है
  • कई संबंधित प्रवाहों का परीक्षण रिपोर्ट को मजबूत बनाता है
  • 2FA बायपास जैसे झूठे सुरागों से संकुचित होना निष्कर्ष को स्वच्छ रखने में मदद करता है

अंतिम शब्द

यह भेद्यता फ़ैंसी पेलोड या चतुर पार्सर चालों के बारे में नहीं थी।

यह सही भरोसा-सीमा प्रश्न पूछने के बारे में थी।

listmonk में, पासवर्ड बदल गया।
पुनर्प्राप्ति क्रिया पूरी हुई।
लेकिन हमलावर का पुराना सत्र अभी भी जीवित था।

इसीलिए यह CVE-2026-34828 बन गया।

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