CVE-2025-69217

coturn is a free open source implementation of TURN and STUN Server. Versions 4.6.2r5 through 4.7.0-r4 have a bad random number generator for nonces and port randomization after refactoring. Additionally, random numbers aren't generated with openssl's RAND_bytes but libc's random() (if it's not running on Windows). When fetching about 50 sequential nonces (i.e., through sending 50 unauthenticated allocations requests) it is possible to completely reconstruct the current state of the random number generator, thereby predicting the next nonce. This allows authentication while spoofing IPs. An attacker can send authenticated messages without ever receiving the responses, including the nonce (requires knowledge of the credentials, which is e.g., often the case in IoT settings). Since the port randomization is deterministic given the pseudorandom seed, an attacker can exactly reconstruct the ports and, hence predict the randomization of the ports. If an attacker allocates a relay port, they know the current port, and they are able to predict the next relay port (at least if it is not used before). Commit 11fc465f4bba70bb0ad8aae17d6c4a63a29917d9 contains a fix.
Configurations

No configuration.

History

13 Oct 2026, 08:10

Type Values Removed Values Added
Summary
  • (es) coturn es una implementación de código abierto gratuita de servidor TURN y STUN. Las versiones 4.6.2r5 a 4.7.0-r4 tienen un generador de números aleatorios deficiente para nonces y la aleatorización de puertos después de la refactorización. Además, los números aleatorios no se generan con RAND_bytes de OpenSSL sino con random() de libc (si no se ejecuta en Windows). Al obtener aproximadamente 50 nonces secuenciales (es decir, mediante el envío de 50 solicitudes de asignación no autenticadas), es posible reconstruir completamente el estado actual del generador de números aleatorios, prediciendo así el siguiente nonce. Esto permite la autenticación mientras se suplantan IPs. Un atacante puede enviar mensajes autenticados sin recibir nunca las respuestas, incluido el nonce (requiere conocimiento de las credenciales, lo cual es, por ejemplo, a menudo el caso en entornos IoT). Dado que la aleatorización de puertos es determinista dada la semilla pseudoaleatoria, un atacante puede reconstruir exactamente los puertos y, por lo tanto, predecir la aleatorización de los puertos. Si un atacante asigna un puerto de retransmisión, conoce el puerto actual y puede predecir el siguiente puerto de retransmisión (al menos si no se ha utilizado antes). El commit 11fc465f4bba70bb0ad8aae17d6c4a63a29917d9 contiene una solución.

Information

Published : 2025-12-30 01:15

Updated : 2026-10-13 08:10


NVD link : CVE-2025-69217

Mitre link : CVE-2025-69217

CVE.ORG link : CVE-2025-69217


JSON object : View

Products Affected

No product.

CWE
CWE-338

Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)