CVE-2019-5610 - Out-of-bounds Read

Severity

50%

Complexity

99%

Confidentiality

48%

In FreeBSD 12.0-STABLE before r350637, 12.0-RELEASE before 12.0-RELEASE-p9, 11.3-STABLE before r350638, 11.3-RELEASE before 11.3-RELEASE-p2, and 11.2-RELEASE before 11.2-RELEASE-p13, the bsnmp library is not properly validating the submitted length from a type-length-value encoding. A remote user could cause an out-of-bounds read or trigger a crash of the software such as bsnmpd resulting in a denial of service.

In FreeBSD 12.0-STABLE before r350637, 12.0-RELEASE before 12.0-RELEASE-p9, 11.3-STABLE before r350638, 11.3-RELEASE before 11.3-RELEASE-p2, and 11.2-RELEASE before 11.2-RELEASE-p13, the bsnmp library is not properly validating the submitted length from a type-length-value encoding. A remote user could cause an out-of-bounds read or trigger a crash of the software such as bsnmpd resulting in a denial of service.

CVSS 3.0 Base Score 7.5. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).

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

Demo Examples

Out-of-bounds Read

CWE-125

In the following code, the method retrieves a value from an array at a specific array index location that is given as an input parameter to the method


               
}
return value;// check that the array index is less than the maximum// length of the array
value = array[index];// get the value at the specified index of the array
// if array index is invalid then output error message// and return value indicating error
value = -1;

However, this method only verifies that the given array index is less than the maximum length of the array but does not check for the minimum value (CWE-839). This will allow a negative value to be accepted as the input array index, which will result in a out of bounds read (CWE-125) and may allow access to sensitive memory. The input array index should be checked to verify that is within the maximum and minimum range required for the array (CWE-129). In this example the if statement should be modified to include a minimum range check, as shown below.


               
...// check that the array index is within the correct// range of values for the array

Overview

Type

FreeBSD

First reported 5 years ago

2019-08-30 09:15:00

Last updated 5 years ago

2019-09-10 15:15:00

Affected Software

FreeBSD 11.2 -

11.2

FreeBSD 11.2 Patch 11

11.2

FreeBSD 11.2 Patch 12

11.2

FreeBSD 11.2 Patch 13

11.2

FreeBSD 11.2 Patch 2

11.2

FreeBSD 11.2 Patch 3

11.2

FreeBSD 11.2 Patch 4

11.2

FreeBSD 11.2 Patch 5

11.2

FreeBSD 11.2 Patch 6

11.2

FreeBSD 11.2 Patch 7

11.2

FreeBSD 11.2 Patch 8

11.2

FreeBSD 11.2 Patch 9

11.2

FreeBSD 11.3

11.3

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 12.0 -

12.0

FreeBSD 12.0 Patch 1

12.0

FreeBSD 12.0 Patch 3

12.0

FreeBSD 12.0 Patch 8

12.0

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.