CVE-2020-15147: Remote Code Execution in Red Discord Bot
8.6
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.8442%
CWE
Published
8/21/2020
Updated
10/26/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
Red-DiscordBot | pip | <= 3.3.11 | 3.3.12 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from how user-controlled stream names were handled in message templates. The pre-patch code used .format()
with {stream}
which evaluates Python expressions if malicious format specifiers are present. The commit e269ea0 shows the fix replaced .format()
with .replace()
for {stream}
and {stream.name}
, indicating the original formatting approach was vulnerable to code injection via crafted stream names. The check_streams()
function was responsible for processing these live alerts, making it the primary vulnerable function.