A vulnerability was found in FreeIPA in how the initial implementation of MS-SFU by MIT Kerberos was missing a condition for granting the forwardable flag on S4U2Self tickets. Fixing this mistake required adding a special case for the check_allowed_to_delegate() function: If the target service argument is NULL, then it means the KDC is probing for general constrained delegation rules and not checking a specific S4U2Proxy request.
In FreeIPA 4.11.0, the behavior of ipadb_match_acl() was modified to match the changes from upstream MIT Kerberos 1.20. However, a mistake resulting in this mechanism applies in cases where the target service argument is set AND where it is unset. This results in S4U2Proxy requests being accepted regardless of whether or not there is a matching service delegation rule.
The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. This allows attackers to bypass intended access restrictions.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Freeipa | Freeipa | 4.11.0 (including) | 4.11.2 (excluding) |
Freeipa | Freeipa | 4.12.0 (including) | 4.12.0 (including) |
Red Hat Enterprise Linux 8 | RedHat | idm:DL1-8100020240528133707.823393f5 | * |
Red Hat Enterprise Linux 8.8 Extended Update Support | RedHat | idm:DL1-8080020240530051744.b0a6ceea | * |
Red Hat Enterprise Linux 9 | RedHat | ipa-0:4.11.0-15.el9_4 | * |
Red Hat Enterprise Linux 9.2 Extended Update Support | RedHat | ipa-0:4.10.1-12.el9_2.2 | * |
Freeipa | Ubuntu | mantic | * |
Freeipa | Ubuntu | trusty/esm | * |
Assuming a user with a given identity, authorization is the process of determining whether that user can access a given resource, based on the user’s privileges and any permissions or other access-control specifications that apply to the resource. When access control checks are incorrectly applied, users are able to access data or perform actions that they should not be allowed to perform. This can lead to a wide range of problems, including information exposures, denial of service, and arbitrary code execution.