Fedora 43 : coturn (2026-13e2cf6827)
| Reporter | Title | Published | Views | Family All 17 |
|---|---|---|---|---|
| CVE-2026-73215 | 11 Aug 202617:38 | – | cve | |
| CVE-2026-73215 The coturn server can end in a state where it does not accept more requests with "even-port" enabled. | 11 Aug 202617:38 | – | cvelist | |
| CVE-2026-73215 | 11 Aug 202617:38 | – | debiancve | |
| EUVD-2026-56823 | 11 Aug 202617:38 | – | euvd | |
| [SECURITY] Fedora 44 Update: coturn-4.17.2-1.fc44 | 18 Aug 202601:12 | – | fedora | |
| [SECURITY] Fedora 43 Update: coturn-4.17.2-1.fc43 | 18 Aug 202600:56 | – | fedora | |
| Fedora 44 : coturn (2026-50c75def83) | 18 Aug 202600:00 | – | nessus | |
| Linux Distros Unpatched Vulnerability : CVE-2026-73215 | 12 Aug 202600:00 | – | nessus | |
| CVE-2026-73215 | 11 Aug 202618:18 | – | nvd | |
| DEBIAN-CVE-2026-73215 | 11 Aug 202618:18 | – | osv |
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
# The descriptive text and package checks in this plugin were
# extracted from Fedora Security Advisory FEDORA-2026-13e2cf6827
#
include('compat.inc');
if (description)
{
script_id(337078);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/08/18");
script_cve_id("CVE-2026-73215");
script_xref(name:"FEDORA", value:"2026-13e2cf6827");
script_name(english:"Fedora 43 : coturn (2026-13e2cf6827)");
script_set_attribute(attribute:"synopsis", value:
"The remote Fedora host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote Fedora 43 host has a package installed that is affected by multiple vulnerabilities as referenced in the
FEDORA-2026-13e2cf6827 advisory.
# Coturn 4.17.2
## What's Changed
* Fix outgoing UDP TTL pinned to 1 on client-facing sockets
# Coturn 4.17.1
* Gate merges on the more tests suites
* build: Drop ginstall detection in `configure`
* Flash before socket close
# Coturn 4.17.0
## Upgrade notes
Three defaults changed in this release. Read these before upgrading.
**DTLS listeners are now opt-in**. The server no longer starts DTLS listeners unless `--dtls` is given. A
deployment that relied on DTLS being up by default will stop serving DTLS clients after the upgrade,
without an error. The deprecated `--no-dtls` / `--no-dtls=false` spellings are still accepted and now
warn.
**Stateless nonce is on by default**. Challenge nonces are authenticated timestamp cookies rather than a
random value stored per session, so unauthenticated UDP requests are answered from the listener without
allocating a session. Two consequences:
* The challenge `NONCE` is now 24 characters instead of 16. RFC 8489 requires clients to treat it as an
opaque string of up to 128 characters, so compliant clients are unaffected. `--stateless-nonce=false`
restores the previous behaviour.
* The signing key is generated per process, so a restart costs each client one `438` re-authentication
round-trip, as does a retry that lands on a different instance behind a load balancer. Set `--stateless-
nonce-secret` to the same value across a fleet to avoid both.
**The default log line changed**. Timestamps are ISO-8601 with millisecond precision, the thread id is
gone, the field delimiter is a single space instead of `:`, and each record now occupies exactly one line.
Log shippers and any downstream parsing will need updating; the default line is now:
```
2026-08-02T17:32:31.297-0700 INFO Listener address to use: 127.0.0.1
```
`--new-log-timestamp=false` restores the legacy seconds-since-start counter.
## Security fixes
Three fixes in this release came through the private advisory process. Advisories are still in
preparation; this section will be updated with their identifiers once they are published.
* **Allocation quotas could be bypassed under `--mobility`**. An authenticated client that repeatedly
created a mobility allocation and disconnected had its quota released while the allocation, its relay
socket and its ticket stayed alive, letting one user hold allocations well past `--user-quota` / `--total-
quota` until the relay port range was exhausted. The charge is now held until final teardown. Regression
coverage: `examples/run_tests_mobility_quota.sh`.
* **DTLS allocated per-peer state before the cookie was verified**. A ClientHello from an unverified
(and possibly spoofed) source caused a full SSL, socket and session allocation before the source had
proved return routability. The cookie exchange is now performed statelessly via `DTLSv1_listen()`, so an
unanswered ClientHello leaves no state behind. This completes the hardening begun in 4.16.0.
* **`EVEN-PORT` with the R bit clear leaked relay ports**. The odd sibling port was reserved even when
the client had not asked for it and was never released, so a server would eventually refuse new
allocations that requested `EVEN-PORT`.
Upgrading is recommended for anyone running `--mobility`, DTLS, or accepting `EVEN-PORT` allocations.
## What's Changed
* Free the secrets list on the `get_user_key` error paths
* Binding stateless fastpath
* Worktree stateless nonce mi fastpath
* Start the DTLS listeners only when `--dtls` is given
* Do not ask the kernel for an outgoing IP TTL of zero
* Drop `--simple-log` where it is a no-op alongside `--log-file=stdout`
* Fix `localtime()` data race in the logger
* Log format: ISO-8601 timestamp by default, no thread id, space delimiter
* Keep the legacy random nonce at 16 chars
* Emit exactly one log line per record
* Enable stateless nonce by default
Tenable has extracted the preceding description block directly from the Fedora security advisory.
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://bodhi.fedoraproject.org/updates/FEDORA-2026-13e2cf6827");
script_set_attribute(attribute:"solution", value:
"Update the affected coturn package.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N");
script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-73215");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vuln_publication_date", value:"2026/08/09");
script_set_attribute(attribute:"patch_publication_date", value:"2026/08/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/08/18");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:fedoraproject:fedora:43");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fedoraproject:fedora:coturn");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Fedora Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list");
exit(0);
}
include('rpm2.inc');
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_product = get_kb_item('installed_os/local/SSH/0/product');
if (isnull(os_product) || 'Fedora' >!< os_product) audit(AUDIT_OS_NOT, 'Fedora');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'Fedora');
if (! preg(pattern:"^43([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'Fedora 43', 'Fedora ' + os_version);
if (!get_kb_item('Host/RedHat/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Fedora', cpu);
var constraints = [
{
'release': '43',
'pkgs': [
{'reference':'coturn-4.17.2-1.fc43', 'rpm_spec_vers_cmp':TRUE}
]
}
];
var os_release = get_one_kb_item('installed_os/local/SSH/0/release');
var os_sp = get_one_kb_item('Host/*/minor_release');
var flag = 0;
var reference;
var sp;
var _cpu;
var el_string;
var rpm_spec_vers_cmp;
var epoch;
var allowmaj;
var exists_check;
var cves;
foreach var constraint ( constraints ) {
# Check that the target release is equal to the affected release
if (!empty_or_null(constraint['release'])){
if (constraint['release'] != os_release) continue;
}
if (!empty_or_null(constraint['sp'])){
if (constraint['sp'] != os_sp) continue;
}
foreach var pkg ( constraint['pkgs'] ) {
reference = NULL;
sp = NULL;
_cpu = NULL;
el_string = NULL;
rpm_spec_vers_cmp = NULL;
epoch = NULL;
allowmaj = NULL;
exists_check = NULL;
cves = NULL;
if (!empty_or_null(pkg['reference'])) reference = pkg['reference'];
if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
if (!empty_or_null(pkg['cpu'])) _cpu = pkg['cpu'];
if (!empty_or_null(pkg['el_string'])) el_string = pkg['el_string'];
if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
if (!empty_or_null(pkg['epoch'])) epoch = pkg['epoch'];
if (!empty_or_null(pkg['allowmaj'])) allowmaj = pkg['allowmaj'];
if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
if (reference &&
## (no known rpm to check OR known rpm_exists)
(!exists_check || rpm_exists(rpm:exists_check)) &&
rpm_check(sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'coturn');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
18 Aug 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 47.1
EPSS0.00331
SSVC