CVE-2025-59089

NameCVE-2025-59089
DescriptionIf 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1120702

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
python-kdcproxy (PTS)bookworm, bullseye1.0.0-1vulnerable
forky, sid, trixie1.0.0-2vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
python-kdcproxysource(unstable)(unfixed)1120702

Notes

[trixie] - python-kdcproxy <no-dsa> (Minor issue)
[bookworm] - python-kdcproxy <no-dsa> (Minor issue)
[bullseye] - python-kdcproxy <postponed> (Minor issue)
https://github.com/latchset/kdcproxy/pull/68
Fixed by: https://github.com/latchset/kdcproxy/commit/c7675365aa20be11f03247966336c7613cac84e1

Search for package or bug name: Reporting problems