{"schemaVersion":3,"id":"CVE-2021-41282","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"diag_routes.php in pfSense 2.5.2 allows sed data injection. Authenticated users are intended to be able to view data about the routes set in the firewall. The data is retrieved by executing the netstat utility, and then its output is parsed via the sed utility. Although the common protection mechanisms against command injection (i.e., the usage of the escapeshellarg function for the arguments) are used, it is still possible to inject sed-specific code and write an arbitrary file in an arbitrary location.","dates":{"published":"2022-03-01T22:45:03.000Z","modified":"2024-08-04T03:08:31.835Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9,"severity":"high","version":"2.0","versionLabel":"v2.0","source":"NVD","vector":"AV:N/AC:L/Au:S/C:C/I:C/A:C","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"2.0","versionLabel":"v2.0","source":"NVD","score":9,"severity":"high","vector":"AV:N/AC:L/Au:S/C:C/I:C/A:C","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.87113,"percentile":0.99752,"severity":"critical","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.87113},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.87113,"percentile":0.99752}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.87113,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.87113,"percentile":0.99752}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"REF_984DB4C4805EA4E8","name":"Exploit Reference (shielder.it)","source":"reference","url":"https://www.shielder.it/advisories/pfsense-remote-command-execution/","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null},{"id":"REF_6B40342540186E61","name":"Exploit Reference (packetstormsecurity.com)","source":"reference","url":"http://packetstormsecurity.com/files/166208/pfSense-2.5.2-Shell-Upload.html","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null},{"id":"MSF_EXPLOIT_UNIX_HTTP_PFSENSE_DIAG_ROUTES_WEBSHELL","name":"pfSense Diag Routes Web Shell Upload","source":"metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploit/unix/http/pfsense_diag_routes_webshell.rb","maturity":"weaponized","reliabilityScore":1,"verified":true,"type":"remote","platforms":[],"requiresAuth":true,"exploitdb":null,"metasploit":{"fullname":"exploit/unix/http/pfsense_diag_routes_webshell","rank":"600","rankName":"excellent","postAuth":true,"check":true,"stability":["crash-safe"],"sideEffects":["ioc-in-logs","artifacts-on-disk"],"reliability":["repeatable-session"]}}],"exploitCount":3,"weaknesses":[{"id":"CWE-74","name":"Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')","description":"The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/74.html"}],"affected":[{"vendor":"pfsense","product":"pfsense","name":"pfsense","label":"pfsense","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"2.5.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"2.5.2","eol":null,"hubHref":"/vendor/pfsense/pfsense"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.shielder.it/advisories/","label":"www.shielder.it/advisories/","hostname":"www.shielder.it","tags":["X Refsource MISC","Third Party Advisory"]},{"url":"https://www.shielder.it/advisories/pfsense-remote-command-execution/","label":"www.shielder.it/advisories/pfsense-remote-command-execution/","hostname":"www.shielder.it","tags":["X Refsource MISC","Exploit","Third Party Advisory"]},{"url":"https://docs.netgate.com/pfsense/en/latest/releases/22-01_2-6-0.html","label":"docs.netgate.com/pfsense/en/latest/releases/22-01_2-6-0.html","hostname":"docs.netgate.com","tags":["X Refsource MISC","Release Notes","Third Party Advisory"]},{"url":"http://packetstormsecurity.com/files/166208/pfSense-2.5.2-Shell-Upload.html","label":"packetstormsecurity.com/files/166208/pfSense-2.5.2-Shell-Upload.html","hostname":"packetstormsecurity.com","tags":["X Refsource MISC","Exploit","Third Party Advisory","VDB Entry"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2022-03-01T22:45:03.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2024-08-04T03:08:31.835Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T09:56:26.645Z","stale":false,"partial":false}}