Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Network-reachable admin panel with low-complexity SQLi, but requires authenticated admin (PR:H); full C/I/A loss of the database, scope kept U though COPY TO PROGRAM host compromise could justify S:C.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Coturn is a free open source implementation of TURN and STUN Server. Prior to 4.12.0, the coturn HTTPS admin panel passes HTTP query parameters directly into SQL queries via snprintf string interpolation without sanitization. The is_secure_string filter that protects the STUN protocol path is not applied to the admin panel's delete-user, delete-secret, and delete-IP operations, so an authenticated admin can inject arbitrary SQL through the du, ds, and dip parameters, gaining full database control and potentially OS-level access via PostgreSQL COPY TO PROGRAM. This issue is fixed in version 4.12.0.
AnalysisAI
SQL injection in the Coturn TURN/STUN server's HTTPS admin panel (versions prior to 4.12.0) allows an authenticated administrator to inject arbitrary SQL via the du, ds, and dip query parameters of the delete-user, delete-secret, and delete-IP operations, yielding full backend database control and, on PostgreSQL deployments, OS-level command execution through COPY TO PROGRAM. The admin panel's parameters are interpolated into queries with snprintf while bypassing the is_secure_string filter that guards the STUN protocol path. No public exploit is identified at time of analysis and the flaw is not listed in CISA KEV; fixed in Coturn 4.12.0.
Technical ContextAI
Coturn is the de-facto open-source implementation of TURN (RFC 5766/8656) and STUN, widely deployed as relay infrastructure for WebRTC, VoIP, and video-conferencing. The affected component is Coturn's optional web-based admin console served over HTTPS, which manages the credential store (long-term users, shared secrets, and permitted/denied IP peers). Per the advisory, these admin operations build SQL statements via snprintf-based string interpolation of HTTP query parameters. Root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command): the is_secure_string sanitization routine that protects the STUN protocol code path was never wired into the admin panel's delete handlers, leaving du (delete-user), ds (delete-secret), and dip (delete-IP) unsanitized. When the backend is PostgreSQL, the injectable statement can be escalated beyond data access to arbitrary OS command execution using PostgreSQL's COPY ... TO PROGRAM functionality, running as the database service account. Affected CPE: cpe:2.3:a:coturn:coturn:*:*:*:*:*:*:*:*.
RemediationAI
Vendor-released patch: upgrade to Coturn 4.12.0 or later (https://github.com/coturn/coturn/releases/tag/4.12.0), which applies the is_secure_string sanitization to the admin panel delete operations as implemented in PR 1924 / commit b84dbab1d1aa6e2bf0211a1cdbb250d6de2a0d09; review details in advisory GHSA-v8hj-2xx7-xmp5. If immediate patching is not possible, disable the HTTPS admin panel entirely (it is optional) or restrict it to a trusted management network/VPN and place it behind an authenticating reverse proxy with an allowlist, accepting the trade-off that remote administration becomes unavailable or gated. Additionally, harden the database backend to blunt the escalation path: run the PostgreSQL role used by Coturn as an unprivileged, non-superuser account (COPY TO PROGRAM requires superuser or pg_execute_server_program), which prevents OS command execution but does not stop in-database data tampering. Rotate admin credentials and enforce strong, unique passwords, since exploitation requires a valid admin session.
More in PostgreSQL
View allPostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re
Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.
Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar
PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow
The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t
A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra
In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve
Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the
Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot
Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al
Same weakness CWE-89 – SQL Injection
View allVendor StatusVendor
SUSE
Severity: ImportantShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42969