Asterisk: ARI setChannelVar bypasses live_dangerously and allows FILE() writes
Summary
Asterisk, an open source PBX and telephony toolkit, lets an authenticated ARI user with read-only privileges run write dialplan functions through setChannelVar. This includes FILE() writes, even when live_dangerously is set to no. The attacker needs valid read-only ARI credentials, and the Asterisk HTTP server must be enabled and reachable; it is disabled by default and binds only to 127.0.0.1 by default.
Affected
- Asterisk before 20.20.1
- Asterisk 21.0.0-pre1 up to before 21.12.3
- Asterisk 22.0.0-pre1 up to before 22.10.1
- Asterisk 23.0.0-pre1 up to before 23.4.1
- Certified Asterisk before 20.7-cert11
- Certified Asterisk 22.8-cert1-pre1 up to before 22.8-cert3
Fixed in
- Asterisk 20.20.1
- Asterisk 21.12.3
- Asterisk 22.10.1
- Asterisk 23.4.1
- Certified Asterisk 20.7-cert11
- Certified Asterisk 22.8-cert3
Workaround
- Disable the Asterisk HTTP server if ARI is not required.
- If ARI is required, keep the HTTP server bound to localhost and block external access to it.
- Review and rotate ARI credentials, especially read-only accounts, and remove unused accounts.
These measures reduce exposure but do not fix the vulnerability.
Exploitation
- No public proof of concept known.
- Not known to be exploited in the wild.
- CISA SSVC assessment: exploitation none, not automatable, total technical impact.
Our recommendation
- Update Asterisk or Certified Asterisk to the fixed versions listed above.
- Check whether the HTTP server and ARI are exposed to the internet or to untrusted networks, and restrict access.
- Review ARI accounts and credentials and remove unused or former staff accounts.
- Test custom ARI applications after the update, because dangerous functions may no longer work without live_dangerously.
- Prioritise internet-exposed systems with ARI enabled.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-vrfp-mg3q-3959 github.com
- Asterisk 23.4.1 release github.com
- Asterisk 22.10.1 release github.com
- Asterisk 21.12.3 release github.com
- Asterisk 20.20.1 release github.com
- Certified Asterisk 20.7-cert11 release github.com
- Certified Asterisk 22.8-cert3 release github.com
- Upstream fix commit 8f8ccaf github.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 17:53.
Original description (NVD)
Asterisk is an open source private branch exchange and telephony toolkit. Prior to Asterisk 20.20.1, 21.12.3, 22.10.1, 23.4.1 and Certified Asterisk 20.7-cert11, 22.8-cert3, an authenticated Asterisk REST Interface (ARI) attacker with read-only privileges may use `setChannelVar` to execute write dialplan functions, including `FILE()` writes, even when `live_dangerously` in `asterisk.conf` is set to no. The Asterisk HTTP web server must be enabled and reachable, and the attacker must already have valid `read-only ARI credentials`. HTTP is disabled by default and binds only to 127.0.0.1 by default even when enabled. This issue is fixed in Asterisk 20.20.1, 21.12.3, 22.10.1, 23.4.1 and Certified Asterisk 20.7-cert11, 22.8-cert3.
NVD references (15)
- https://github.com/asterisk/asterisk/commit/8f8ccaf70a80e518147b0c35c0c252de4735446f
- https://github.com/asterisk/asterisk/commit/92a5dd1003b737ae1cd2df4e60b73beb8d5e42bb
- https://github.com/asterisk/asterisk/commit/ba04e7f1f98887c3c6e0dc4ddce663021f7e948a
- https://github.com/asterisk/asterisk/commit/bf9354267557ef6d6b75f5304faa243f595a5a66
- https://github.com/asterisk/asterisk/commit/caa4d50d9c3bf04fc979b5b2cdc5dc425772d845
- https://github.com/asterisk/asterisk/commit/d47b0b6e5a384746db194f751b53d559aba8dba9
- https://github.com/asterisk/asterisk/commit/d8614505b27688dec3a1d14554f52fda94712928
- https://github.com/asterisk/asterisk/releases/tag/20.20.1
- https://github.com/asterisk/asterisk/releases/tag/21.12.3
- https://github.com/asterisk/asterisk/releases/tag/22.10.1
- https://github.com/asterisk/asterisk/releases/tag/23.4.1
- https://github.com/asterisk/asterisk/releases/tag/certified-20.7-cert11
- https://github.com/asterisk/asterisk/releases/tag/certified-22.8-cert3
- https://github.com/asterisk/asterisk/security/advisories/GHSA-vrfp-mg3q-3959
- https://github.com/asterisk/asterisk/tree/24.0.0-pre1
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
