Bug 2514019 (CVE-2026-19550) - CVE-2026-19550 freeipa: ipa: FreeIPA: trust-fetch-domains uses trust-read ACI to gate a privileged AD trust refresh, allowing unauthorized LDAP writes
Summary: CVE-2026-19550 freeipa: ipa: FreeIPA: trust-fetch-domains uses trust-read ACI...
Keywords:
Status: NEW
Alias: CVE-2026-19550
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2514054
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-11 15:05 UTC by OSIDB Bzimport
Modified: 2026-08-20 16:09 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-11 15:05:26 UTC
A flaw was found in FreeIPA. The `trust-fetch-domains` command, used to refresh Active Directory trust topology, is gated only by the read-level ACI on the trust object (`System: Read Trust Information`, granted to any authenticated IPA user by default) rather than a trust-administration-level permission. Any authenticated, non-privileged IPA user can therefore invoke `ipa trust-fetch-domains`, which calls a root-owned oddjobd/D-Bus helper (`install/oddjob/com.redhat.idm.trust-fetch-domains.in`). When the caller supplies `--admin`/`--password`, the helper calls `kinit_password()` against a caller-chosen `--server` using attacker-supplied credentials, with no cross-check that they belong to the real trusted AD forest, then accepts whatever forest-trust topology (domain names, NetBIOS names, SIDs) that attacker-controlled server returns via `ipaserver/dcerpc.py`'s `fetch_domains()`/`discover_trust_instance()`. This fabricated data is written directly into the IPA LDAP directory as authoritative trust/ID-range topology by `trust.add_new_domains_from_trust()`. The authorization gap itself (an unprivileged, non-admin user's request reaching the root-owned helper's execution with no ACI rejection) was reproduced dynamically in an isolated sandbox against ipa-server-4.13.5, confirmed against a negative control (an unrelated admin-only operation was correctly rejected in the same session). The exploiting principal holds zero delegated privilege — this is not a case of a narrow administrative delegation being used beyond its intended scope.


Note You need to log in before you can comment on or make changes to this bug.