Bug 2567312

Summary: CVE-2026-111253 dnf5: dnf5daemon-server: missing session-owner check allows foreign D-Bus callers to replace another client's resolved transaction [fedora-all]
Product: [Fedora] Fedora Reporter: Melissa Ing <meing>
Component: dnf5Assignee: rpm-software-management
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: jonathan, mblaha, pkratoch, ppisar, rpm-software-management
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://github.com/rpm-software-management/dnf5/pull/2996
Whiteboard: {"flaws": ["efdd3056-f16a-44a8-963f-3814b4bde4eb"]}
Fixed In Version: dnf5-5.4.7.0-1.fc44 dnf5-5.2.18.0-6.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-11-08 17:10:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Melissa Ing 2026-11-05 14:20:44 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

A flaw was found in dnf5daemon-server. The service stores the unique system D-Bus sender that creates each package-management session and enforces that association for SessionManager.close_session(), but the generic dispatcher for methods on dynamically exported session objects does not compare the incoming caller with the stored session owner. A local user who can reach org.rpm.dnf.v0 can therefore invoke session methods such as Rpm.remove() and Goal.resolve() on another client's live session and replace a previously resolved transaction plan. Goal.do_transaction() later authorizes the caller of do_transaction() via PolicyKit against the stored transaction rather than binding authorization to the sender that supplied the package instructions. Cross-UID plan replacement was demonstrated; execution of a substituted plan still requires a later authorized do_transaction() call on that session.

Comment 1 Petr Pisar 2026-11-05 17:24:14 UTC
This looks like this <https://github.com/rpm-software-management/dnf5/pull/2996> upstream pull request.

Comment 2 Petr Pisar 2026-11-05 17:35:18 UTC
Marek, could you look at it?

Comment 3 Fedora Update System 2026-11-06 09:15:49 UTC
FEDORA-2026-5879bc27e1 (dnf5-5.2.18.0-6.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-5879bc27e1

Comment 4 Marek Blaha 2026-11-06 09:38:17 UTC
Yes, that's the fix. It was released as part of 5.4.7 release into rawhide, F45, and F44. For F43 I've backported the fix in 5.2.18.0-6.

Comment 5 Fedora Update System 2026-11-06 09:49:30 UTC
FEDORA-2026-97ca946ad2 (dnf5-5.4.7.0-1.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-97ca946ad2

Comment 6 Fedora Update System 2026-11-07 03:13:43 UTC
FEDORA-2026-5879bc27e1 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-5879bc27e1`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-5879bc27e1

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2026-11-08 17:10:43 UTC
FEDORA-2026-97ca946ad2 (dnf5-5.4.7.0-1.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2026-11-10 01:53:27 UTC
FEDORA-2026-5879bc27e1 (dnf5-5.2.18.0-6.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.