CVE-2018-15686 systemd: reexec state injection: fgets() on overlong lines leads to line splitting

High 7.0 Published Updated

An attacker can inject arbitrary state during systemd re-execution via NotifyAccess, potentially leading to root privilege escalation or code execution.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2018-15686?

CVE-2018-15686 is a high-severity unsafe deserialization vulnerability in Canonical Ubuntu Linux, published on 26 Oct 2018. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

A vulnerability in unit_deserialize of systemd allows an attacker to supply arbitrary state across systemd re-execution via NotifyAccess. This can be used to improperly influence systemd execution and possibly lead to root privilege escalation. Affected releases are systemd versions up to and including 239.

Weakness: CWE-502

Which versions are affected by CVE-2018-15686?

It affects 4 products.

Products include Canonical Ubuntu Linux, Debian Debian Linux, Oracle Communications Cloud Native Core Network Function Cloud Native Environment, Systemd Project Systemd.

How do I fix CVE-2018-15686?

Apply the vendor's patch.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2018-15686 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2018-15686 exists.

Public exploit code: 1 Exploit-DB entry and 1 proofs of concept on GitHub.

All Canonical Ubuntu Linux vulnerabilities

Sources

Also known as DEBIAN-CVE-2018-15686, GHSA-86rx-vp92-xvgg, UBUNTU-CVE-2018-15686.

Is CVE-2018-15686 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free