Vulnerability · Published Nov 12, 2025 · Assigned by redhat
CVE-2025-59089Python-kdcproxy: remote dos via unbounded tcp upstream buffering
Medium 5.9
In plain English
A medium-severity resource allocation without limits in kdcproxy from latchset. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 47% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
If an attacker causes kdcproxy to connect to an attacker-controlled KDC server (e.g. through server-side request forgery), they can exploit the fact that kdcproxy does not enforce bounds on TCP response length to conduct a denial-of-service attack. While receiving the KDC's response, kdcproxy copies the entire buffered stream into a new buffer on each recv() call, even when the transfer is incomplete, causing excessive memory allocation and CPU usage. Additionally, kdcproxy accepts incoming response chunks as long as the received data length is not exactly equal to the length indicated in the response header, even when individual chunks or the total buffer exceed the maximum length of a Kerberos message. This allows an attacker to send unbounded data until the connection timeout is reached (approximately 12 seconds), exhausting server memory or CPU resources. Multiple concurrent requests can cause accept queue overflow, denying service to legitimate clients.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | bind-dyndb-ldap | 11.6-6.module_el8.10.0+3980+d78e8e90 | ALSA-2025:21140 |
| AlmaLinux:8 | custodia | 0.6.0-3.module_el8.6.0+2881+2f24dc92 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-client | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-client-common | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-client-epn | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-client-samba | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-common | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-healthcheck | 0.12-6.module_el8.10.0+4036+84b152d9 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-healthcheck-core | 0.12-6.module_el8.10.0+4036+84b152d9 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-python-compat | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-selinux | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-server | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-server-common | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-server-dns | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | ipa-server-trust-ad | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | opendnssec | 2.1.7-2.module_el8.10.0+3980+d78e8e90 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-custodia | 0.6.0-3.module_el8.6.0+2881+2f24dc92 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-ipaclient | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-ipalib | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-ipaserver | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-ipatests | 4.9.13-20.module_el8.10.0+4050+3b475c71 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-jwcrypto | 0.5.0-2.module_el8.10.0+3844+20e075e5 | ALSA-2025:21140 |
| AlmaLinux:10 | python3-kdcproxy | 1.0.0-19.el10_1 | ALSA-2025:21142 |
| AlmaLinux:8 | python3-kdcproxy | 0.4-5.module_el8.10.0+4069+1d9eaa78.2 | ALSA-2025:21140 |
| AlmaLinux:9 | python3-kdcproxy | 1.0.0-9.el9_7 | ALSA-2025:21139 |
| AlmaLinux:8 | python3-pyusb | 1.0.0-9.1.module_el8.7.0+3349+cfeff52e | ALSA-2025:21140 |
| AlmaLinux:8 | python3-qrcode | 5.3-1.module_el8.10.0+3942+63b39a46 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-qrcode-core | 5.3-1.module_el8.10.0+3942+63b39a46 | ALSA-2025:21140 |
| AlmaLinux:8 | python3-yubico | 1.3.2-9.1.module_el8.7.0+3349+cfeff52e | ALSA-2025:21140 |
| AlmaLinux:8 | slapi-nis | 0.60.0-4.module_el8.10.0+3844+20e075e5.alma.1 | ALSA-2025:21140 |
| AlmaLinux:8 | softhsm | 2.6.0-5.module_el8.6.0+3031+2f24dc92 | ALSA-2025:21140 |
| AlmaLinux:8 | softhsm | 2.6.0-5.module_el8.6.0+2881+2f24dc92 | ALSA-2025:21140 |
| AlmaLinux:8 | softhsm-devel | 2.6.0-5.module_el8.6.0+3031+2f24dc92 | ALSA-2025:21140 |
| AlmaLinux:8 | softhsm-devel | 2.6.0-5.module_el8.6.0+2881+2f24dc92 | ALSA-2025:21140 |
| Debian:12 | python-kdcproxy | no fix listed | DEBIAN-CVE-2025-59089 |
| Debian:13 | python-kdcproxy | no fix listed | DEBIAN-CVE-2025-59089 |
| Debian:14 | python-kdcproxy | no fix listed | DEBIAN-CVE-2025-59089 |
| Rocky Linux:8 | bind-dyndb-ldap | 0:11.6-6.module+el8.10.0+1960+1ed527b3 | RLSA-2025:21140 |
| Rocky Linux:8 | custodia | 0:0.6.0-3.module+el8.9.0+1371+ffa84eb9 | RLSA-2025:21140 |
| Rocky Linux:8 | ipa | 0:4.9.13-20.module+el8.10.0+2066+d74ade98 | RLSA-2025:21140 |
| Rocky Linux:8 | ipa | 0:4.9.13-20.module+el8.10.0+2067+377bdd64 | RLSA-2025:21140 |
| Rocky Linux:8 | ipa-healthcheck | 0:0.12-6.module+el8.10.0+2053+a0a9dc19 | RLSA-2025:21140 |
| Rocky Linux:8 | ipa-healthcheck | 0:0.12-6.module+el8.10.0+2054+aa003774 | RLSA-2025:21140 |
| Rocky Linux:8 | opendnssec | 0:2.1.7-2.module+el8.10.0+1960+1ed527b3 | RLSA-2025:21140 |
| Rocky Linux:8 | python-jwcrypto | 0:0.5.0-2.module+el8.10.0+1818+2dfda7a6 | RLSA-2025:21140 |
| Rocky Linux:8 | python-jwcrypto | 0:0.5.0-2.module+el8.10.0+1819+0aeba2f1 | RLSA-2025:21140 |
| Rocky Linux:10 | python-kdcproxy | 0:1.0.0-19.el10_1 | RLSA-2025:21142 |
| Rocky Linux:8 | python-kdcproxy | 0:0.4-5.module+el8.10.0+2094+d7886766.2 | RLSA-2025:21140 |
| Rocky Linux:8 | python-kdcproxy | 0:0.4-5.module+el8.10.0+1915+3c70f7d9.1 | RLSA-2025:21140 |
| Rocky Linux:8 | python-kdcproxy | 0:0.4-5.module+el8.9.0+1371+ffa84eb9 | RLSA-2025:21140 |
| Rocky Linux:9 | python-kdcproxy | 0:1.0.0-9.el9_7 | RLSA-2025:21139 |
| Rocky Linux:8 | python-qrcode | 0:5.3-1.module+el8.10.0+1915+3c70f7d9 | RLSA-2025:21140 |
| Rocky Linux:8 | python-qrcode | 0:5.3-1.module+el8.10.0+1916+6bb8cf6b | RLSA-2025:21140 |
| Rocky Linux:8 | python-yubico | 0:1.3.2-9.1.module+el8.9.0+1372+09f67869 | RLSA-2025:21140 |
| Rocky Linux:8 | python-yubico | 0:1.3.2-9.1.module+el8.9.0+1371+ffa84eb9 | RLSA-2025:21140 |
| Rocky Linux:8 | pyusb | 0:1.0.0-9.1.module+el8.9.0+1371+ffa84eb9 | RLSA-2025:21140 |
| Rocky Linux:8 | pyusb | 0:1.0.0-9.1.module+el8.9.0+1372+09f67869 | RLSA-2025:21140 |
| Rocky Linux:8 | slapi-nis | 0:0.60.0-4.module+el8.9.0+1573+39ab85f4 | RLSA-2025:21140 |
| Rocky Linux:8 | softhsm | 0:2.6.0-5.module+el8.9.0+1371+ffa84eb9 | RLSA-2025:21140 |
| Ubuntu:22.04:LTS | python-kdcproxy | no fix listed | UBUNTU-CVE-2025-59089 |
| Ubuntu:24.04:LTS | python-kdcproxy | no fix listed | UBUNTU-CVE-2025-59089 |
| Ubuntu:25.10 | python-kdcproxy | no fix listed | UBUNTU-CVE-2025-59089 |
| Ubuntu:26.04:LTS | python-kdcproxy | no fix listed | UBUNTU-CVE-2025-59089 |
| Ubuntu:26.10 | python-kdcproxy | no fix listed | UBUNTU-CVE-2025-59089 |
Affected products (as reported)
Weakness: CWE-770 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- RHSA-2025:21138 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21139 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21140 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21141 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21142 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21448 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21748 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21806 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21818 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21819 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21820 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:21821 vendor-advisory, x_refsource_REDHAT
- RHSA-2025:22982 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/security/cve/CVE-2025-59089 vdb-entry, x_refsource_REDHAT
- RHBZ#2393958 issue-tracking, x_refsource_REDHAT
- https://github.com/latchset/kdcproxy/commit/c7675365aa20be11f03247966336c7613cac84e1
- https://github.com/latchset/kdcproxy/pull/68