systemd has a vulnerability in the PAM module, pam_systemd, that allows for spoofing of the XDG_SEAT environment variable which allows for commands to be checked against polkit policies using the "allow_active" element rather than "allow_any". Users with local access to machines with an active tty sessions can exploit this to elevate their privileges.
pam_systemd uses getenv() to retrieve XDG_SEAT value, however when pam_systemd is used by a SUID binary this allows a unprivileged user, in some circumstances, to provide a fake XDG_SEAT value, with the consequences mentioned in comment 0.
For the attack to be successful, a new session must be created and that is created by pam_systemd only if the calling process is not already part of a session. On Fedora/RHEL, in their default PAM configurations, it does not seem to be possible to let a session sneak in without systemd knowing about it, since pam_systemd is always called in every PAM config file.
Upstream patch: https://github.com/systemd/systemd/commit/83d4ab55336ff8a0643c6aa627b31e351a24040a
Created systemd tracking bugs for this issue: Affects: fedora-all [bug 1698045]
Acknowledgments: Name: Jann Horn (Google Project Zero)
Statement: For the attack to be successful, a new session must be created by pam_systemd. This is done only if the calling process is not already part of a session. Red Hat Enterprise Linux, in its default PAM configurations, does not let a session sneak in without systemd knowing about it, since pam_systemd is always called in every PAM config file. Unless a wrong PAM config file is in place, this vulnerability cannot be triggered on Red Hat Enterprise Linux 7 and 8.
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:1611 https://access.redhat.com/errata/RHSA-2021:1611
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2019-3842
This issue has been addressed in the following products: Red Hat Enterprise Linux 8.2 Extended Update Support Via RHSA-2021:3900 https://access.redhat.com/errata/RHSA-2021:3900