#4456: systemd-243
--------------------+---------------------
 Reporter:  bdubbs  |       Owner:  renodr
     Type:  task    |      Status:  closed
 Priority:  high    |   Milestone:  9.1
Component:  Book    |     Version:  SVN
 Severity:  normal  |  Resolution:  fixed
 Keywords:          |
--------------------+---------------------
Changes (by renodr):

 * priority:  normal => high


Comment:

 A new patch was added earlier as well, a few days ago, to fix various bugs
 discovered since release and some work to allow Samba-4.11 to not cause
 mount failures.

 243 fixes this. An errata will be going in.

 {{{
 Hi,

 Nadav Markus from Palo Alto Networks discovered that systemd-resolved
 does not enforce appropriate access controls on its D-Bus interface and
 allows unprivileged users to execute methods that are meant to be
 available only to privileged users. This can be exploited by local users
 to modify the system's DNS resolver settings.

 Details of the issue follow:

 -----

 manager_connect_bus() in src/resolve/resolved-bus.c opens a connection
 to the system bus using the
 bus_open_system_watch_bind_with_description() helper function, which is
 defined in src/shared/bus-util.c.

 This helper function calls sd_bus_set_trusted(). This has the effect of
 disabling access controls, even for members that are defined without the
 SD_BUS_VTABLE_UNPRIVILEGED flag - the absence of which should deny
 access from unprivileged clients. See check_access() in
 src/libsystemd/sd-bus/bus-objects.c:

 static int check_access(sd_bus *bus, sd_bus_message *m, struct
 vtable_member *c, sd_bus_error *error) {
         uint64_t cap;
         int r;

         assert(bus);
         assert(m);
         assert(c);

         /* If the entire bus is trusted let's grant access */
         if (bus->trusted)
                 return 0;

         /* If the member is marked UNPRIVILEGED let's grant access */
         if (c->vtable->flags & SD_BUS_VTABLE_UNPRIVILEGED)
                 return 0;
         ...

 timesyncd and networkd both use the same helper function to connect to
 the system bus, but both of these are unaffected by this bug. In
 timesyncd's case, it only exposes some read-only properties and these
 don't have access controls. In networkd's case, all methods are
 annotated with SD_BUS_VTABLE_UNPRIVILEGED and it uses policykit for
 enforcing access controls.

 -----

 The complete fix for this issue can be found at
 https://github.com/systemd/systemd/pull/13457 and is in the systemd v243
 release, although
 
https://github.com/systemd/systemd/pull/13457/commits/35e528018f315798d3bffcb592b32a0d8f5162bd
 on its own is sufficient to address the vulnerability.

 Many thanks
 - Chris
 }}}

--
Ticket URL: <http://wiki.linuxfromscratch.org/lfs/ticket/4456#comment:10>
LFS Trac <http://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to