| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| cowrie | pip | < 2.9.0 | 2.9.0 |
The vulnerability is a Server-Side Request Forgery (SSRF) in Cowrie's emulated wget and curl commands, which allowed attackers to use the honeypot as an amplification vector for DDoS attacks. The root cause was the absence of rate limiting on outbound requests initiated by these commands.
The analysis of the provided patch (PR #2800) confirms this. The fix introduces a RateLimiter class and integrates it into the start methods of the Command_wget and Command_curl classes. These start methods are the main entry points for handling the respective shell commands.
Before the patch, these functions would parse a user-supplied URL and proceed to make network requests without any checks on the frequency of these requests to a given destination. An attacker could exploit this by sending a high volume of wget or curl commands, turning the honeypot into a DDoS tool.
The identified vulnerable functions, Command_wget.start and Command_curl.start, are the precise locations where the lack of control existed. During exploitation, these functions would be invoked for every malicious wget or curl command executed in the honeypot's shell. The patch addresses the vulnerability by adding a rate-limiting check at the beginning of these functions, which now terminate the command with a simulated timeout if the request frequency for a host exceeds a defined threshold.
Command_wget.startsrc/cowrie/commands/wget.py
Command_curl.startsrc/cowrie/commands/curl.py
A Semantic Attack on Google Gemini - Read the Latest Research