Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1381911 - (CVE-2016-7796) CVE-2016-7796 systemd: freeze when PID 1 receives a zero-length message over notify socket
CVE-2016-7796 systemd: freeze when PID 1 receives a zero-length message over ...
Status: CLOSED ERRATA
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
impact=moderate,public=20160928,repor...
: Security
Depends On: 1393420
Blocks: 1380288
  Show dependency treegraph
 
Reported: 2016-10-05 07:07 EDT by Tomas Hoger
Modified: 2017-01-03 11:56 EST (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in the way systemd handled empty notification messages. A local attacker could use this flaw to make systemd freeze its execution, preventing further management of system services, system shutdown, or zombie process collection via systemd.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-10-05 08:06:39 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 2678711 None None None 2016-10-05 16:10 EDT
Red Hat Product Errata RHSA-2017:0003 normal SHIPPED_LIVE Moderate: systemd security update 2017-01-03 16:55:06 EST

  None (edit)
Description Tomas Hoger 2016-10-05 07:07:21 EDT
It was found that systemd fails an assertion in manager_invoke_notify_message() when a zero-length message is received over its notification socket, causing it to no longer perform it's expected functionality.  This issue was assigned CVE-2016-7795 and is tracked via bug 1380286.  Upstream bug report is:

https://github.com/systemd/systemd/issues/4234

Older systemd versions either don't include the assert that is triggered in manager_invoke_notify_message(), or have manager_process_notify_fd() function return error before calling manager_invoke_notify_message().  That error return still causes systemd to exit its main loop and freeze its execution in a similar way it's done in newer versions after failed assertion.

https://github.com/systemd/systemd/issues/4234#issuecomment-250441246

The manager_invoke_notify_message() function with assert was introduced in version v209:

https://github.com/systemd/systemd/commit/5ba6985b6c8ef85a8bcfeb1b65239c863436e75b#diff-ab78220e12703ee63fa1e6a2caa16bebR1319

However, the assertion was not reachable before the error return was removed in v219:

https://github.com/systemd/systemd/commit/d875aa8ce10b458dc218c0d98f4a82c8904d6d03

The systemd versions in Red Hat Enterprise Linux 7.0 and 7.1 are based on upstream v208, but include manager_invoke_notify_message() added via a separate backported patch.  The assertion is not reachable, so those versions are affected by CVE-2016-7796, but not affected by CVE-2016-7795.  Red Hat Enterprise Linux 7.2 rebased systemd to version v219.  Therefore, those packages are no longer affected by CVE-2016-7796, but are now affected by CVE-2016-7795.
Comment 1 Tomas Hoger 2016-10-05 08:06:39 EDT
As noted in the previous comment, this issue was fixed when systemd packages were rebased to version v219 as part of the Red Hat Enterprise Linux 7.2:

https://rhn.redhat.com/errata/RHBA-2015-2092.html
Comment 2 errata-xmlrpc 2017-01-03 11:56:36 EST
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7.1 Extended Update Support

Via RHSA-2017:0003 https://rhn.redhat.com/errata/RHSA-2017-0003.html

Note You need to log in before you can comment on or make changes to this bug.