Two off-by-one errors in the FreeIPA ipa-otpd daemon's OAuth2 device authorization handler can cause out-of-bounds memory access when processing an oversized response from a configured external OAuth2/OIDC Identity Provider. An attacker who controls or can man-in-the-middle the IdP endpoint may be able to trigger ipa-otpd to write or read one byte past the end of a fixed-size buffer. Exploitation requires FreeIPA to be configured with an external IdP, attacker control or MITM of that IdP, and a user to initiate the OAuth2 device authorization flow. The most likely impact is limited denial of service affecting the ipa-otpd daemon.
{
"binaries": [
{
"binary_name": "freeipa-admintools",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "freeipa-client",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "freeipa-common",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "freeipa-server",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "freeipa-server-dns",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "freeipa-server-trust-ad",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "freeipa-tests",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "python-ipaclient",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "python-ipalib",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "python-ipaserver",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
},
{
"binary_name": "python-ipatests",
"binary_version": "4.7.0~pre1+git20180411-2ubuntu2"
}
]
}{
"binaries": [
{
"binary_name": "freeipa-client",
"binary_version": "4.8.6-1ubuntu2"
},
{
"binary_name": "freeipa-client-samba",
"binary_version": "4.8.6-1ubuntu2"
},
{
"binary_name": "freeipa-common",
"binary_version": "4.8.6-1ubuntu2"
},
{
"binary_name": "python3-ipaclient",
"binary_version": "4.8.6-1ubuntu2"
},
{
"binary_name": "python3-ipalib",
"binary_version": "4.8.6-1ubuntu2"
}
]
}{
"binaries": [
{
"binary_name": "freeipa-client",
"binary_version": "4.9.8-1"
},
{
"binary_name": "freeipa-client-epn",
"binary_version": "4.9.8-1"
},
{
"binary_name": "freeipa-client-samba",
"binary_version": "4.9.8-1"
},
{
"binary_name": "freeipa-common",
"binary_version": "4.9.8-1"
},
{
"binary_name": "python3-ipaclient",
"binary_version": "4.9.8-1"
},
{
"binary_name": "python3-ipalib",
"binary_version": "4.9.8-1"
}
]
}{
"binaries": [
{
"binary_name": "freeipa-client",
"binary_version": "4.11.1-2"
},
{
"binary_name": "freeipa-client-epn",
"binary_version": "4.11.1-2"
},
{
"binary_name": "freeipa-client-samba",
"binary_version": "4.11.1-2"
},
{
"binary_name": "freeipa-common",
"binary_version": "4.11.1-2"
},
{
"binary_name": "python3-ipaclient",
"binary_version": "4.11.1-2"
},
{
"binary_name": "python3-ipalib",
"binary_version": "4.11.1-2"
}
]
}{
"binaries": [
{
"binary_name": "freeipa-client",
"binary_version": "4.12.4-1"
},
{
"binary_name": "freeipa-client-epn",
"binary_version": "4.12.4-1"
},
{
"binary_name": "freeipa-client-samba",
"binary_version": "4.12.4-1"
},
{
"binary_name": "freeipa-common",
"binary_version": "4.12.4-1"
},
{
"binary_name": "python3-ipaclient",
"binary_version": "4.12.4-1"
},
{
"binary_name": "python3-ipalib",
"binary_version": "4.12.4-1"
}
]
}{
"binaries": [
{
"binary_name": "freeipa-client",
"binary_version": "4.13.1-1"
},
{
"binary_name": "freeipa-client-epn",
"binary_version": "4.13.1-1"
},
{
"binary_name": "freeipa-client-samba",
"binary_version": "4.13.1-1"
},
{
"binary_name": "freeipa-common",
"binary_version": "4.13.1-1"
},
{
"binary_name": "python3-ipaclient",
"binary_version": "4.13.1-1"
},
{
"binary_name": "python3-ipalib",
"binary_version": "4.13.1-1"
}
]
}{
"binaries": [
{
"binary_name": "freeipa-admintools",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "freeipa-client",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "freeipa-common",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "freeipa-server",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "freeipa-server-dns",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "freeipa-server-trust-ad",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "freeipa-tests",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "python-ipaclient",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "python-ipalib",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "python-ipaserver",
"binary_version": "4.3.1-0ubuntu1+esm1"
},
{
"binary_name": "python-ipatests",
"binary_version": "4.3.1-0ubuntu1+esm1"
}
]
}