CVE-2019-8936 - NULL Pointer Dereference

Severity

50%

Complexity

99%

Confidentiality

48%

NTP through 4.2.8p12 has a NULL Pointer Dereference.

NTP through 4.2.8p12 has a NULL Pointer Dereference.

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

NULL Pointer Dereference

CWE-476

While there are no complete fixes aside from conscientious programming, the following steps will go a long way to ensure that NULL pointer dereferences do not occur.


               
}
/* make use of pointer1 *//* ... */

If you are working with a multithreaded or otherwise asynchronous environment, ensure that proper locking APIs are used to lock before the if statement; and unlock when it has finished.

NULL Pointer Dereference

CWE-476

This example takes an IP address from a user, verifies that it is well formed and then looks up the hostname and copies it into a buffer.


               
}
strcpy(hostname, hp->h_name);/*routine that ensures user_supplied_addr is in the right format for conversion */

If an attacker provides an address that appears to be well-formed, but the address does not resolve to a hostname, then the call to gethostbyaddr() will return NULL. Since the code does not check the return value from gethostbyaddr (CWE-252), a NULL pointer dereference would then occur in the call to strcpy().

Note that this example is also vulnerable to a buffer overflow (see CWE-119).

NULL Pointer Dereference

CWE-476

In the following code, the programmer assumes that the system always has a property named "cmd" defined. If an attacker can control the program's environment so that "cmd" is not defined, the program throws a NULL pointer exception when it attempts to call the trim() method.


               
cmd = cmd.trim();

NULL Pointer Dereference

CWE-476

This application has registered to handle a URL when sent an intent:


               
}......
}
}
int length = URL.length();
...

The application assumes the URL will always be included in the intent. When the URL is not present, the call to getStringExtra() will return null, thus causing a null pointer exception when length() is called.

Overview

First reported 6 years ago

2019-05-15 16:29:00

Last updated 5 years ago

2020-05-28 14:08:00

Affected Software

FreeBSD 11.2 -

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 9

11.2

FreeBSD 12.0 -

12.0

FreeBSD 12.0 Patch 1

12.0

FreeBSD 12.0 Patch 3

12.0

Fedora 28

28

Fedora 29

29

Fedora 30

30

openSUSE Leap 15.0

15.0

openSUSE Leap 42.3

42.3

NTP

NTP 4.2.8 Patch 1

4.2.8

NTP 4.2.8 Patch 10

4.2.8

NTP 4.2.8 Patch 11

4.2.8

NTP 4.2.8 Patch 12

4.2.8

NTP 4.2.8 Patch 1 Beta 1

4.2.8

NTP 4.2.8 Patch 1 Beta 2

4.2.8

NTP 4.2.8 Patch 1 Beta 3

4.2.8

NTP 4.2.8 Patch 1 Beta 4

4.2.8

NTP 4.2.8 Patch 1 Beta5

4.2.8

NTP 4.2.8 Patch 1 Release Candidate 1

4.2.8

NTP 4.2.8 Patch 1 Release Candidate 2

4.2.8

NTP 4.2.8 Patch 2

4.2.8

NTP 4.2.8 Patch 2 Release Candidate 1

4.2.8

NTP 4.2.8 Patch 2 Release Candidate 2

4.2.8

NTP 4.2.8 Patch 2 Release Candidate 3

4.2.8

NTP 4.2.8 Patch 3

4.2.8

NTP 4.2.8 Patch 3 Release Candidate 1

4.2.8

NTP 4.2.8 Patch 3 Release Candidate 2

4.2.8

NTP 4.2.8 Patch 3 Release Candidate 3

4.2.8

NTP 4.2.8 Patch 4

4.2.8

NTP 4.2.8 Patch 5

4.2.8

NTP 4.2.8 Patch 6

4.2.8

NTP 4.2.8 Patch 7

4.2.8

NTP 4.2.8 Patch 9

4.2.8

NTP 4.2.8 Patch 1-Beta1

4.2.8

NTP 4.2.8 Patch 1-Beta2

4.2.8

NTP 4.2.8 Patch 1-Beta3

4.2.8

NTP 4.2.8 Patch 1-Beta4

4.2.8

NTP 4.2.8 Patch 1-Beta5

4.2.8

NTP 4.2.8 Patch 1-Release Candidate 1

4.2.8

NTP 4.2.8 Patch 1-Release Candidate 2

4.2.8

NTP 4.2.8 Patch 2-Release Candidate 1

4.2.8

NTP 4.2.8 Patch 2-Release Candidate 2

4.2.8

NTP 4.2.8 Patch 2-Release Candidate 3

4.2.8

NTP 4.2.8 Patch 3-Release Candidate 1

4.2.8

NTP 4.2.8 Patch 3-Release Candidate 2

4.2.8

NTP 4.2.8 Patch 3-Release Candidate 3

4.2.8

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.