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:
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.
The manager_invoke_notify_message() function with assert was introduced in version v209:
However, the assertion was not reachable before the error return was removed in v219:
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.
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:
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