Impact
The DhcpClient method of the D-Bus interface to blueman-mechanism is prone to an argument injection vulnerability.
The impact highly depends on the system configuration.
If Polkit-1 is disabled and for versions lower than 2.0.6, any local user can possibly exploit this. If Polkit-1 is enabled for version 2.0.6 and later, a possible attacker needs to be allowed to use the org.blueman.dhcp.client
action. That is limited to users in the wheel group in the shipped rules file that do have the privileges anyway.
On systems with ISC DHCP client (dhclient), attackers can pass arguments to ip link
with the interface name that can e.g. be used to bring down an interface or add an arbitrary XDP/BPF program.
On systems with dhcpcd and without ISC DHCP client, attackers can even run arbitrary scripts by passing -c/path/to/script
as an interface name.
Patches
Patches are included in 2.1.4 and master that change the DhcpClient D-Bus method(s) to accept BlueZ network object paths instead of network interface names. A backport to 2.0(.8) is also available.
Workarounds
Make sure that Polkit-1-support is enabled and limit privileges for the org.blueman.dhcp.client
action to users that are able to run arbitrary commands as root anyway in /usr/share/polkit-1/rules.d/blueman.rules.
References
GHSA-jpc9-mgw6-2xwx
https://bugs.launchpad.net/ubuntu/+source/blueman/+bug/1897287
For more information
If you have any questions or comments about this advisory:
Impact
The DhcpClient method of the D-Bus interface to blueman-mechanism is prone to an argument injection vulnerability.
The impact highly depends on the system configuration.
If Polkit-1 is disabled and for versions lower than 2.0.6, any local user can possibly exploit this. If Polkit-1 is enabled for version 2.0.6 and later, a possible attacker needs to be allowed to use the
org.blueman.dhcp.client
action. That is limited to users in the wheel group in the shipped rules file that do have the privileges anyway.On systems with ISC DHCP client (dhclient), attackers can pass arguments to
ip link
with the interface name that can e.g. be used to bring down an interface or add an arbitrary XDP/BPF program.On systems with dhcpcd and without ISC DHCP client, attackers can even run arbitrary scripts by passing
-c/path/to/script
as an interface name.Patches
Patches are included in 2.1.4 and master that change the DhcpClient D-Bus method(s) to accept BlueZ network object paths instead of network interface names. A backport to 2.0(.8) is also available.
Workarounds
Make sure that Polkit-1-support is enabled and limit privileges for the
org.blueman.dhcp.client
action to users that are able to run arbitrary commands as root anyway in /usr/share/polkit-1/rules.d/blueman.rules.References
GHSA-jpc9-mgw6-2xwx
https://bugs.launchpad.net/ubuntu/+source/blueman/+bug/1897287
For more information
If you have any questions or comments about this advisory: