{"schemaVersion":3,"id":"CVE-2020-12271","aliases":[],"status":"published","duplicateOf":null,"title":"Sophos SFOS SQL Injection Vulnerability","description":"A SQL injection issue was found in SFOS 17.0, 17.1, 17.5, and 18.0 before 2020-04-25 on Sophos XG Firewall devices, as exploited in the wild in April 2020. This affected devices configured with either the administration (HTTPS) service or the User Portal exposed on the WAN zone. A successful attack may have caused remote code execution that exfiltrated usernames and hashed passwords for the local device admin(s), portal admins, and user accounts used for remote access (but not external Active Directory or LDAP passwords)","dates":{"published":"2020-04-27T04:00:01.000Z","modified":"2025-10-21T23:35:45.408Z","reserved":null,"kevAdded":["2021-11-03T00:00:00.000Z"],"kevDue":["2022-05-03T00:00:00.000Z"]},"cvss":{"headline":{"score":10,"severity":"critical","version":"3.0","versionLabel":"v3.0","source":"CVE.org","vector":"CVSS:3.0/AC:L/AV:N/A:H/C:H/I:H/PR:N/S:C/UI:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.0","versionLabel":"v3.0","source":"CVE.org","score":10,"severity":"critical","vector":"CVSS:3.0/AC:L/AV:N/A:H/C:H/I:H/PR:N/S:C/UI:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"NVD","score":10,"severity":"critical","vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"2.0","versionLabel":"v2.0","source":"NVD","score":7.5,"severity":"high","vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.42434,"percentile":0.98693,"severity":"high","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.42434},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.42434,"percentile":0.98693}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.42434,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.42434,"percentile":0.98693}]},"kev":{"state":"listed","entries":[{"source":"cisa","sourceLabel":"CISA","dateAdded":"2021-11-03T00:00:00.000Z","dueDate":"2022-05-03T00:00:00.000Z","requiredAction":"Apply updates per vendor instructions.","name":"Sophos SFOS SQL Injection Vulnerability","description":"Sophos Firewall operating system (SFOS) firmware contains a SQL injection vulnerability when configured with either the administration (HTTPS) service or the User Portal is exposed on the WAN zone. Successful exploitation may cause remote code execution to exfiltrate usernames and hashed passwords for the local device admin(s), portal admins, and user accounts used for remote access (but not external Active Directory or LDAP passwords).","notes":[{"type":"url","href":"https://nvd.nist.gov/vuln/detail/CVE-2020-12271","label":"nvd.nist.gov/vuln/detail/CVE-2020-12271"}],"vendor":"Sophos","product":"SFOS","ransomware":true,"ransomwareUse":"Known","exploitationType":null}],"listedCount":1,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":true,"entry":{"source":"cisa","sourceLabel":"CISA","dateAdded":"2021-11-03T00:00:00.000Z","dueDate":"2022-05-03T00:00:00.000Z","requiredAction":"Apply updates per vendor instructions.","name":"Sophos SFOS SQL Injection Vulnerability","description":"Sophos Firewall operating system (SFOS) firmware contains a SQL injection vulnerability when configured with either the administration (HTTPS) service or the User Portal is exposed on the WAN zone. Successful exploitation may cause remote code execution to exfiltrate usernames and hashed passwords for the local device admin(s), portal admins, and user accounts used for remote access (but not external Active Directory or LDAP passwords).","notes":[{"type":"url","href":"https://nvd.nist.gov/vuln/detail/CVE-2020-12271","label":"nvd.nist.gov/vuln/detail/CVE-2020-12271"}],"vendor":"Sophos","product":"SFOS","ransomware":true,"ransomwareUse":"Known","exploitationType":null}},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"known","sources":["cisa"]},"exploits":[{"id":"REF_EA6C043E81DFCA03","name":"Exploit Reference (news.sophos.com)","source":"reference","url":"https://news.sophos.com/en-us/2020/04/26/asnarok/","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-89","name":"Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","description":"The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/89.html"}],"affected":[{"vendor":"sophos","product":"sfos","name":"SFOS","label":"sfos","ecosystem":null,"cpePart":"o","purl":null,"purlType":null,"versions":[{"text":"17.0","noFixRecorded":false,"fixedIn":null},{"text":"17.1","noFixRecorded":false,"fixedIn":null},{"text":"17.5","noFixRecorded":false,"fixedIn":null},{"text":"18.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"17.0 | 17.1 | 17.5 | 18.0","eol":null,"hubHref":"/vendor/sophos/sfos"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://cwe.mitre.org/data/definitions/89.html","label":"cwe.mitre.org/data/definitions/89.html","hostname":"cwe.mitre.org","tags":["X Refsource MISC","Third Party Advisory"]},{"url":"https://community.sophos.com/kb/en-us/135412","label":"community.sophos.com/kb/en-us/135412","hostname":"community.sophos.com","tags":["X Refsource MISC","Vendor Advisory"]},{"url":"https://news.sophos.com/en-us/2020/04/26/asnarok/","label":"news.sophos.com/en-us/2020/04/26/asnarok/","hostname":"news.sophos.com","tags":["X Refsource MISC","Exploit","Vendor Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-12271","label":"www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-12271","hostname":"www.cisa.gov","tags":["Government Resource","US Government Resource"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2020-04-27T04:00:01.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"kev-added","date":"2021-11-03T00:00:00.000Z","label":"Added to CISA KEV","detail":"Sophos SFOS SQL Injection Vulnerability","source":"cisa"},{"kind":"kev-due","date":"2022-05-03T00:00:00.000Z","label":"CISA remediation due","detail":"Apply updates per vendor instructions.","source":"cisa"},{"kind":"modified","date":"2025-10-21T23:35:45.408Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":90,"level":"critical","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T19:07:22.408Z","stale":false,"partial":false}}