{"id":"CVE-2020-15415","kind":"vulnerability","aliases":["CVE-2020-15415"],"related":[],"title":"On DrayTek Vigor3900, Vigor2960, and Vigor300B devices before 1.5.1, cgi-bin/mainfunction.cgi/cvmcfgupload allows…","description":"DrayTek Vigor3900, Vigor2960, and Vigor300B devices contain an OS command injection vulnerability in cgi-bin/mainfunction.cgi/cvmcfgupload that allows for remote code execution via shell metacharacters in a filename when the text/x-python-script content type is used.\n\nCISA required action: Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.","summary":"DrayTek Vigor3900, Vigor2960 and Vigor300B routers have an OS command injection flaw in the cgi-bin/mainfunction.cgi/cvmcfgupload endpoint. An attacker can run commands on the router by sending shell metacharacters in a filename with the text/x-python-script content type.","severity":"critical","cvss":9.8,"epss":null,"exploited":true,"exploited_at":"2024-09-30T00:00:00+00:00","products":[{"name":"DrayTek Multiple Vigor Routers","fixed":[],"affected":"","ecosystem":"vendor"},{"name":"draytek vigor3900 firmware","fixed":["1.5.1"],"affected":"< 1.5.1","ecosystem":"vendor"},{"name":"draytek vigor2960 firmware","fixed":["1.5.1"],"affected":"< 1.5.1","ecosystem":"vendor"},{"name":"draytek vigor300b firmware","fixed":["1.5.1"],"affected":"< 1.5.1","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["draytek","exploited","infrastructure","self-hosted","vigor2960","vigor300b","vigor3900"],"not_affected_if":["no-web-admin-exposure","other-draytek-models"],"how_to_check":null,"fix":"Apply the vendor mitigation per DrayTek instructions, or stop using the affected device if no mitigation exists (CISA required action).","status":"open","published_at":"2020-06-30T14:15:11+00:00","first_seen_at":"2026-10-23T19:11:51+00:00","triaged_at":"2026-10-23T20:56:33+00:00","updated_at":"2026-10-23T22:29:05+00:00","category":"infrastructure","confidence":0.8,"triage":{"at":"2026-10-23T20:56:33Z","model":"claude-haiku-5-5","output":{"fix":"Apply the vendor mitigation per DrayTek instructions, or stop using the affected device if no mitigation exists (CISA required action).","reach":"internet","impact":"high","summary":"DrayTek Vigor3900, Vigor2960 and Vigor300B routers have an OS command injection flaw in the cgi-bin/mainfunction.cgi/cvmcfgupload endpoint. An attacker can run commands on the router by sending shell metacharacters in a filename with the text/x-python-script content type.","category":"infrastructure","who_cares":["draytek","vigor3900","vigor2960","vigor300b","self-hosted"],"confidence":0.8,"needs_auth":"unknown","worst_case":"Attacker runs arbitrary operating system commands on the router remotely.","analyst_note":"Find the exact fixed firmware versions and whether the web admin interface needs to be reachable from the internet, using the DrayTek advisory and the CISA KEV entry (https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2020-15415).","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["other-draytek-models","no-web-admin-exposure"],"user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000523,"input_tokens":2884,"output_tokens":470,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-15415':17A,20A '-2020':16A,19A '/mainfunction.cgi/cvmcfgupload':13A,60B,98C '1.5.1':9A 'action':120C 'allow':14A,100C 'appli':121C 'attack':63B 'bin':12A,59B,97C 'cgi':11A,58B,96C 'cgi-bin':10A,57B,95C 'cisa':118C 'code':103C 'command':52B,66B,91C 'contain':88C 'content':80B,114C 'cve':15A,18A 'devic':7A,87C 'discontinu':127C 'draytek':2A,21A,25A,28A,31A,34B,43B,82C 'endpoint':61B 'execut':104C 'exploit':35B 'filenam':76B,110C 'firmware':27A,30A,33A 'flaw':54B 'host':39B 'infrastructur':36B 'inject':53B,92C 'instruct':125C 'metacharact':73B,107C 'mitig':122C,133C 'multiple':22A 'os':51B,90C 'per':123C 'product':131C 'remot':102C 'requir':119C 'router':48B,69B 'routers':24A 'run':65B 'self':38B 'self-host':37B 'send':71B 'shell':72B,106C 'text/x-python-script':79B,113C 'type':81B,115C 'unavail':135C 'use':117C,128C 'vendor':124C 'via':105C 'vigor':23A 'vigor2960':4A,29A,40B,45B,84C 'vigor300b':6A,32A,41B,47B,86C 'vigor3900':3A,26A,42B,44B,83C 'vulner':93C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2020-06-30T14:15:11+00:00","kev":{"dateAdded":"2024-09-30","dueDate":"2024-10-21","requiredAction":"Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.","knownRansomwareCampaignUse":"Unknown"},"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"nvd@nist.gov","poc_count":0,"sources":[{"source":"kev","external_id":"CVE-2020-15415","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2020-15415","severity":null,"published_at":"2024-09-30T00:00:00+00:00","modified_at":null,"first_seen_at":"2026-10-23T19:11:51+00:00","fetched_at":"2026-10-25T11:39:15+00:00","note":null},{"source":"nvd","external_id":"CVE-2020-15415","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15415","severity":null,"published_at":"2020-06-30T14:15:11+00:00","modified_at":"2026-06-17T02:56:38+00:00","first_seen_at":"2026-10-23T22:29:05+00:00","fetched_at":"2026-10-23T22:29:05+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}