● Medium · CVSS 5.4 ⚠ ACTIVELY EXPLOITED — CISA KEV

How to Fix CVE-2014-2120: Cross-Site Scripting in Adaptive Security Appliance (ASA)

⚡ At a glance
SeverityCVSS 5.4 - Medium
Actively exploited?Yes, listed in CISA KEV (added 2024-11-12)
AffectedCisco Adaptive Security Appliance (ASA) Software with the WebVPN (clientless SSL VPN) feature enabled (see advisory for affected releases)
Fixed inNo fixed release is named in the CVE record. see the Cisco advisory and the ASA Software Checker for the patched build for your platform
Type (CWE)CWE-79, Improper Neutralization of Input During Web Page Generation (Cross-site Scripting)

Exploitation status

CVE-2014-2120 is actively exploited in the wild. CISA added it to the Known Exploited Vulnerabilities (KEV) catalog on as “Cisco Adaptive Security Appliance (ASA) Cross-Site Scripting (XSS) Vulnerability”, which makes patching mandatory for U.S. federal agencies under Binding Operational Directive 22-01. Federal agencies were required to remediate it by . If you run an affected system, treat this as an emergency change, not a scheduled one.

Public exploit availability: although a public exploit is not directly linked in this CVE’s primary references, its place on the CISA KEV catalog confirms working attack code is in active use in the wild: treat weaponization as certain and patch on an emergency timeline.

Authoritative references:

Patch on a priority schedule. CISA added CVE-2014-2120 to the Known Exploited Vulnerabilities catalog on 2024-11-12, so U.S. federal civilian agencies had to remediate it by 2024-12-03. The CVE record does not name a fixed release, so the durable fix is to move to a Cisco-patched ASA build identified through the Cisco Software Checker. Disabling WebVPN, or restricting who can reach the clientless SSL VPN login page, is the only meaningful interim control.

What is CVE-2014-2120?

CVE-2014-2120 is a reflected cross-site scripting (XSS) flaw, CWE-79. in the WebVPN login page of Cisco Adaptive Security Appliance (ASA) Software. Cisco tracks it internally as Bug ID CSCun19025. It carries a CVSS 3.1 base score of 5.4 (medium), with the vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N. The scope-changed, user-interaction-required vector tells you exactly how this is exploited: an attacker crafts a malicious URL, a victim has to click it, and the injected script then runs in the victim's browser in the security context of the ASA's WebVPN portal.

Straight from the source record: "Cross-site scripting (XSS) vulnerability in the WebVPN login page in Cisco Adaptive Security Appliance (ASA) Software allows remote attackers to inject arbitrary web script or HTML via an unspecified parameter, aka Bug ID CSCun19025."

Because the flaw lives in the login page itself, no authentication is needed to deliver the payload, the affected parameter is reflected before a session exists (the CVSS PR:L reflects the privilege the script gains in the changed scope, not a prerequisite for delivery). In practice this is a credential-harvesting and session-hijack tool: an attacker phishes a VPN user with a link to your own ASA hostname, the page returns attacker-controlled HTML or JavaScript, and that script can rewrite the login form to exfiltrate the username and password the user is about to type, or steal the WebVPN session cookie. The fact that the malicious URL points at your legitimate appliance is what makes it convincing.

This is not remote code execution on the appliance, and it is not a denial of service. The integrity and confidentiality impact is felt by the user who clicks the link and, by extension, by any internal resource their harvested credentials unlock. KEV-listed CVEs draw continuous internet-wide scanning, and an internet-facing ASA with WebVPN enabled is exactly the kind of asset attackers enumerate first.

Am I affected?

You are affected if you run Cisco ASA Software with the WebVPN (clientless SSL VPN) feature enabled and reachable. The CVE record lists the product generically (no specific release range), so treat any ASA with WebVPN turned on as in scope until the Cisco Software Checker tells you your exact build is fixed.

Confirm your running version and whether WebVPN is configured from the ASA CLI:

show version | include Version
show running-config webvpn
show running-config | include enable outside

If show running-config webvpn returns a configured block and WebVPN is enabled on an internet-facing interface, the login page is exposed and you should treat this as a priority. Cross-check your exact ASA release against the Cisco advisory and the Cisco Software Checker rather than guessing: the CVE record itself does not enumerate fixed builds.

How to fix CVE-2014-2120

The fix is to upgrade ASA Software to a Cisco-patched build. Because the CVE record names no fixed version, find your target build with the Cisco Software Checker (or the advisory linked under References) for your exact platform, 5500-X, ASAv, Firepower with the ASA image, and so on. ASA is not IOS or IOS XE; do not use the IOS boot system flash: or the install add file ... activate commit install-mode workflow here. ASA upgrades follow the procedure below.

Upgrade ASA Software from the CLI

! 1. Copy the Cisco-supplied patched image to flash (disk0:)
copy tftp://10.10.10.5/asa-<patched-version>.bin disk0:

! 2. (Optional but recommended) copy the matching ASDM image
copy tftp://10.10.10.5/asdm-<patched-version>.bin disk0:

! 3. Point the boot system at the new image (leave the old one as fallback)
configure terminal
 boot system disk0:/asa-<patched-version>.bin
 asdm image disk0:/asdm-<patched-version>.bin
 end
write memory

! 4. Reload to boot the patched image
reload

On an active/standby failover pair, upgrade the standby first, fail over to it, then upgrade the former active unit so the WebVPN service stays up through the change.

Tighten the WebVPN portal while you schedule the reload

If you cannot reload immediately, the most direct interim control is to stop exposing the vulnerable login page. If the clientless WebVPN portal is not actually required (many sites only use the AnyConnect client), disable it:

configure terminal
 webvpn
  no enable outside
 end
write memory

After applying the patch

  1. Reload the appliance so the patched image is the running build, then re-test the WebVPN login page.
  2. Confirm the running version matches the Cisco-fixed build from the Software Checker using the verification commands below.
  3. If WebVPN was internet-facing during the exposure window, treat any credentials that traverse that portal as potentially harvested: force a VPN password reset and review WebVPN authentication logs for anomalous sessions.

If you can't patch immediately

The flaw is reflected XSS in the clientless WebVPN login page, so every interim control aims at one of two things: stop serving that page, or stop attackers from luring your users to a poisoned link on it. None of these remove the bug. only the ASA upgrade does that, but they meaningfully cut the practical risk.

Disable WebVPN if you do not use the clientless portal

This is the single most effective mitigation. If your users connect with the AnyConnect client and never use the browser portal, turn the clientless login page off on the public-facing interface:

configure terminal
 webvpn
  no enable outside
 end
write memory

Restrict who can reach the WebVPN portal

If WebVPN must stay up, put an upstream filter in front of TCP/443 on the VPN interface so only expected source ranges can request the login page. A control-plane ACL on a Layer 3 device or upstream firewall in front of the ASA is the cleanest place for this:

# Upstream device: only allow known client ranges to the ASA WebVPN VIP
ip access-list extended WEBVPN-FILTER
 permit tcp 203.0.113.0 0.0.0.255 host 198.51.100.10 eq 443
 deny   tcp any host 198.51.100.10 eq 443 log
 permit ip any any

You can also brief VPN users to reach the portal only by typing the known hostname themselves, never by clicking an emailed link: reflected XSS depends on the victim following an attacker-crafted URL. Mitigations are temporary. Move to the Cisco-patched ASA build as soon as a maintenance window opens.

How to verify the fix worked

Confirm the patched ASA image is the one actually running, not just staged on flash.

show version | include Version
show bootvar

Expected: the version reported by show version matches the Cisco-fixed build you identified in the Software Checker, and show bootvar shows that build as the current boot image. If show version still reports the pre-patch release, the reload has not yet loaded the new image.

Then verify the portal directly: load the WebVPN login URL in a browser and confirm the parameter that previously reflected unescaped markup now returns it HTML-encoded. Also pull recent WebVPN authentication logs for any indicators of compromise from the exposure window, and re-run an authenticated vulnerability scan with up-to-date signatures so your own tooling agrees the finding is cleared.

Is CVE-2014-2120 being exploited in the wild?

Yes. CISA added CVE-2014-2120 to the Known Exploited Vulnerabilities catalog on 2024-11-12. KEV listing means at least one confirmed real-world exploitation report exists.

What is the fixed version for CVE-2014-2120?

The CVE record does not name a fixed ASA Software release. Use the Cisco Software Checker and the Cisco security notice for CVE-2014-2120 to identify the patched build for your exact platform, then upgrade to it. Do not assume a version number the advisory has not confirmed.

Can I mitigate CVE-2014-2120 without upgrading ASA?

Partially. The flaw is in the clientless WebVPN login page, so disabling WebVPN with no enable outside under the webvpn block removes the exposure if you only use the AnyConnect client. If the clientless portal is required, restrict which source ranges can reach TCP/443 on the VPN interface. These are interim controls only; the ASA upgrade is the durable fix.

Is CVE-2014-2120 remote code execution?

No. It is reflected cross-site scripting (CWE-79) with a CVSS 3.1 score of 5.4. The injected script runs in the browser of a user who clicks an attacker-crafted link to your WebVPN login page, which makes it a credential-harvesting and session-hijack tool rather than code execution on the appliance itself.

References


Assembled from the Cisco MITRE CVE record (Bug ID CSCun19025), the Cisco security notice, the NVD entry, and the CISA KEV listing. Always confirm your exact fixed build against the Cisco Software Checker before applying changes in production.

Why this matters specifically on a VPN concentrator

It is tempting to dismiss a medium-severity reflected XSS, but the location of this one changes the math. The WebVPN login page is, by definition, the front door your remote workforce types credentials into. A reflected XSS there is not a defacement nuisance, it is a purpose-built credential-harvesting primitive that loads from your own trusted hostname and TLS certificate. That is why CISA put a fourteen-year-old, CVSS-5.4 bug on the KEV catalog in 2024: attackers found it useful in real campaigns against exposed Cisco ASA estates, not because the score is high but because the position is valuable.

The remediation order of operations follows from that. First, determine whether WebVPN is even enabled on an internet-facing interface. many ASA deployments carry the configuration but only expose AnyConnect, in which case no enable outside under the webvpn block removes the exposure outright. Second, if the clientless portal is genuinely in use, restrict the source ranges that can reach TCP/443 on the VPN interface while you stage the patched image. Third, run the actual ASA upgrade to a Cisco-fixed build identified by the Software Checker, upgrading the standby unit of any failover pair first so the portal stays available. Cisco ASA is an appliance OS image, so none of the host-package or container-scanning tooling that applies to a Linux server is relevant here, the unit of patching is the ASA software image, verified with show version and show bootvar, not a package manager.

The one trap worth calling out: confirm the patched image is the running image, not merely the staged one. Copying a new asa-<version>.bin to disk0: and setting boot system does nothing until the appliance reloads onto it. A half-applied upgrade where flash holds the fixed image but the box is still running the vulnerable build is the most common reason a remediation ticket gets closed while the WebVPN login page remains exploitable. Verify, then close.

Other defects in the same area that deserve attention during this patch cycle:

People also ask

Is CVE-2014-2120 being exploited in the wild?

Yes. CISA added CVE-2014-2120 to the Known Exploited Vulnerabilities catalog on 2024-11-12. KEV listing means at least one confirmed real-world exploitation report exists.

What is the fixed version for CVE-2014-2120?

The CVE record does not name a fixed ASA Software release. Use the Cisco Software Checker and the Cisco security notice for CVE-2014-2120 to identify the patched build for your exact platform, then upgrade to it. Do not assume a version number the advisory has not confirmed.

Can I mitigate CVE-2014-2120 without upgrading ASA?

Partially. The flaw is in the clientless WebVPN login page, so disabling WebVPN with no enable outside under the webvpn block removes the exposure if you only use the AnyConnect client. If the clientless portal is required, restrict which source ranges can reach TCP/443 on the VPN interface. These are interim controls only; the ASA upgrade is the durable fix.

Is CVE-2014-2120 remote code execution?

No. It is reflected cross-site scripting (CWE-79) with a CVSS 3.1 score of 5.4. The injected script runs in the browser of a user who clicks an attacker-crafted link to your WebVPN login page, which makes it a credential-harvesting and session-hijack tool rather than code execution on the appliance itself.