Hi,

Thank you Marco and Tomášor handling this disclosure so well!

I'll add below a little piece of discussion from the distros list, which
I think may be helpful to a wider audience.

On Thu, Aug 28, 2025 at 04:41:50PM +0200, Tomáš Bžatek wrote:
> On Wed, 2025-08-27 at 23:01 +0200, Solar Designer wrote:
> > I looked a bit into exposure of this vulnerability for attack:
> > 
> > I checked a few Linux server systems, and I do not see udisks running
> > anywhere by default, but simply running:
> > 
> > $ udisksctl monitor
> > Monitoring the udisks daemon. Press Ctrl+C to exit.
> > 22:49:43.365: The udisks-daemon is running (name-owner :1.49).
> > 
> > as an unprivileged user ssh'ed in remotely gets udisksd started as root
> > e.g. on Rocky Linux 9 and on an old Fedora, so it's exposed for attack
> > anyway.  The user isn't a sudoer and isn't in group wheel.
> 
> UDisks is primarily a D-Bus daemon and set for autoactivation through
> its well-known name and there's a D-Bus service policy file for that.
> It can be started via an initscript/systemd unit as well, that's up to
> distro discretion.
> 
> > The below also works to get udisksd started as root, but requires the
> > user to be in group wheel and to re-authenticate:
> > 
> > $ systemctl start udisks2
> > ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
> > Authentication is required to start 'udisks2.service'.
> > Authenticating as: user
> > Password: 
> > ==== AUTHENTICATION COMPLETE ====
> > 
> > Trying to actually trigger the bug from the provided Python script (the
> > crash one) as a user ssh'ed in remotely to Rocky Linux 9, I get:
> > 
> > gi.repository.GLib.GError: g-io-error-quark: 
> > GDBus.Error:org.freedesktop.UDisks2.Error.NotAuthorizedCanObtain: Not 
> > authorized to perform operation (36)
> > 
> > So maybe it's not fully exposed even if the user can start udisksd on
> > demand.  When I ran the script as root, it crashed udisksd just fine.
> > 
> > What are the permissions commonly required for this?
> 
> Access is guarded through Polkit rules, in this case:

Tomáš provided a link to latest revision, but here's one updated to
point to the current revision specifically (so that it stays valid):

https://github.com/storaged-project/udisks/blob/b495ae587662747b373b5d32c284529e048aebf8/data/org.freedesktop.UDisks2.policy.in#L183-L192

  <action id="org.freedesktop.udisks2.loop-setup">
    <description>Manage loop devices</description>
    <message>Authentication is required to set up a loop device</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <!-- NOTE: this is not a DoS because we are using /dev/loop-control -->
      <allow_active>yes</allow_active>
    </defaults>
  </action>

> So really depends how is your session classified and yes, the attack
> surface is slightly lower for non-local seats. However, combine it with
> other CVEs, notably CVE-2025-6018, and you have a bigger problem.

CVE-2025-6018: LPE from unprivileged to allow_active in *SUSE 15's PAM
https://www.openwall.com/lists/oss-security/2025/06/17/4

> > For the potential privilege escalation attack, is the negatively indexed
> > fd located within the same heap object or a different one?  Would e.g. a
> > guard page before the allocation, such as planted by hardened_malloc,
> > affect the ability to mount this attack?  (We're actually running with
> > hardened_malloc in CIQ's RLC-H product.)
> 
> I'm not a security expert and this spans to the glib code
> (g_unix_fd_list_get) as well.
> 
> > Would it be good practice to exclude udisks2 from default installs of
> > server systems?  I tried "rpm -e udisks2" on Rocky Linux 9 and it just
> > completed, meaning there were no dependencies on this package (at least
> > known to RPM).
> 
> It's not really needed for minimal installs, it's used primarily by
> desktop environments and server management consoles like Cockpit. For
> RHEL specifically, its inclusion by default AND udisks2.service being
> enabled by default is mostly historic relic I guess.

Thanks again,

Alexander

Reply via email to