CVE-2020-24718 - Incorrect Authorization

Severity

82%

Complexity

15%

Confidentiality

100%

bhyve, as used in FreeBSD through 12.1 and illumos (e.g., OmniOS CE through r151034 and OpenIndiana through Hipster 2020.04), does not properly restrict VMCS and VMCB read/write operations, as demonstrated by a root user in a container on an Intel system, who can gain privileges by modifying VMCS_HOST_RIP.

CVSS 3.1 Base Score 8.2. CVSS Attack Vector: local. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H).

CVSS 2.0 Base Score 7.2. CVSS Attack Vector: local. CVSS Attack Complexity: low. CVSS Vector: (AV:L/AC:L/Au:N/C:C/I:C/A:C).

Demo Examples

Incorrect Authorization

CWE-863

The following code could be for a medical records application. It displays a record to already authenticated users, confirming the user's authorization using a value stored in a cookie.


               
}
}
setcookie("role", $role, time()+60*60*2);
die("\n");
DisplayMedicalHistory($_POST['patient_ID']);
die("You are not Authorized to view this record\n");

The programmer expects that the cookie will only be set when getRole() succeeds. The programmer even diligently specifies a 2-hour expiration for the cookie. However, the attacker can easily set the "role" cookie to the value "Reader". As a result, the $role variable is "Reader", and getRole() is never invoked. The attacker has bypassed the authorization system.

Overview

First reported 4 years ago

2020-09-25 04:23:00

Last updated 4 years ago

2020-10-16 11:15:00

Affected Software

FreeBSD

FreeBSD FreeBSD 11.3

11.3

FreeBSD 11.3 Patch 1

11.3

FreeBSD 11.3 Patch 2

11.3

FreeBSD 11.3 Patch 3

11.3

FreeBSD FreeBSD 11.3 Patch 4

11.3

FreeBSD FreeBSD 11.3 Patch 5

11.3

FreeBSD 11.3 Patch 6

11.3

FreeBSD 11.3 Patch 7

11.3

FreeBSD 11.3 Patch 8

11.3

FreeBSD 11.3 Release Candidate 3

11.3

FreeBSD 11.4

11.4

FreeBSD 11.4 Beta 1

11.4

FreeBSD 12.0 -

12.0

FreeBSD 12.0 Patch 1

12.0

FreeBSD FreeBSD 12.0 Patch 10

12.0

FreeBSD FreeBSD 12.0 Patch 11

12.0

FreeBSD FreeBSD 12.0 Patch 12

12.0

FreeBSD 12.0 Patch 2

12.0

FreeBSD 12.0 Patch 3

12.0

FreeBSD 12.0 Patch 4

12.0

FreeBSD 12.0 Patch 5

12.0

FreeBSD 12.0 Patch 6

12.0

FreeBSD FreeBSD 12.0 Patch 7

12.0

FreeBSD 12.0 Patch 8

12.0

FreeBSD FreeBSD 12.0 Patch 9

12.0

FreeBSD FreeBSD 12.1

12.1

FreeBSD FreeBSD 12.1 Patch 1

12.1

FreeBSD 12.1 Patch 2

12.1

FreeBSD 12.1 Patch 3

12.1

FreeBSD 12.1 Patch 4

12.1

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.