Axeploit
← Back to posts

CVE-2026-20230: A Cisco SSRF That Walks Itself to Root

By Harsh Nandanwar

Cisco shipped a patch for a vulnerability that scores 8.6 on CVSS. Cisco itself rated it Critical. Both labels are correct, and the gap between them is the whole lesson.

CVE-2026-20230 is a server-side request forgery flaw in Cisco Unified Communications Manager and Unified CM Session Management Edition. An unauthenticated attacker on the network can send one HTTP request and walk through three stages: forced server requests, file writes to the operating system, and then root. This week, CISA flipped its SSVC "exploitation" field on the record from "none" to "poc." A working proof of concept is now public.

If you ship a web app that fetches URLs anywhere in its codebase, this is your CVE to read this week.

What the Vulnerability Actually Does

Cisco's security advisory is short and specific. Improper input validation on certain HTTP requests lets a remote attacker force the affected device to send requests on the attacker's behalf. That is the textbook definition of SSRF and the reason it sits under CWE-918.

What makes this one interesting is the payload. Cisco's writeup states that a successful exploit "could allow the attacker to write files to the underlying operating system that could be used later to elevate to root." The SSRF is not the end. It is the delivery mechanism. The attacker uses the SSRF surface to plant a file, then uses that file in a follow-on step to climb to root.

The CVSS vector reads CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N. Network attack vector, low complexity, no privileges, no user interaction, scope change, integrity impact High, confidentiality and availability None. That last part is what kept the base score at 8.6. The vector does not model the chained outcome. It rates what the SSRF directly grants, not what an attacker does with file-write primitives ten minutes later.

Cisco's Security Impact Rating tells the rest of the story. The advisory explicitly says the SIR is Critical "rather than High as the score indicates" because real exploitation leads to root.

There is one mitigating condition worth knowing. The vulnerable code path runs through WebDialer, which is disabled by default. WebDialer is the click-to-dial integration many enterprises enable for Salesforce, Outlook, and Teams plugins. If your team turned it on once and forgot, you are exposed.

Why You Should Care Even If You Do Not Run Cisco

Most Axeploit readers do not run on-prem Cisco telephony. You ship web apps, internal tools, AI agents, and APIs. This CVE still matters because the bug class shows up in your stack constantly.

SSRF is what happens when your server accepts a URL or hostname from one place and then fetches it from another. It is the most common second-order bug in vibe-coded apps. Examples that probably exist in your codebase right now:

  • A "fetch this URL and summarize" feature that calls into your LLM pipeline
  • A webhook subscriber that accepts a user-supplied callback URL
  • An image proxy that resizes thumbnails from arbitrary domains
  • A PDF generator that loads HTML from a user URL
  • An OAuth-style integration that pings a "discovery" endpoint chosen by the caller

Every one of these is an SSRF surface. None of them feel dangerous when you prompt for them. All of them route untrusted strings into a function that opens a connection from your trusted server.

The Cisco bug is the same family. The HTTP handler in Unified CM took user input and turned it into a server-side fetch with insufficient validation. The attacker controlled where the fetch went, and the result happened to land on the filesystem.

What Attackers Actually Do With Your SSRF

When a research team finds SSRF in your app, the first probe is almost always cloud metadata. On AWS that is 169.254.169.254. On GCP it is metadata.google.internal. On Azure it is 169.254.169.254 with a different path. Hitting those endpoints from an instance with role credentials returns short-lived AWS keys, GCP service account tokens, or Azure managed identity tokens. Those credentials usually have more permissions than the app itself.

The second probe is internal services. Redis on 127.0.0.1:6379. Postgres on 5432. Internal admin panels on a non-public VLAN. Many of those services trust local callers and will accept commands without auth.

The third probe is file-write paths, which is exactly the Cisco story. If the SSRF can speak file://, gopher://, or interact with an internal upload endpoint, you have just turned a fetch primitive into a write primitive. The chain to RCE is usually one well-placed file away.

OWASP's Server-Side Request Forgery Prevention Cheat Sheet is the right starting point. PortSwigger's SSRF guide goes deeper on attack patterns.

The Short Checklist

If you run Cisco Unified CM or Unified CM SME, check whether WebDialer is enabled and apply the patch listed in the Cisco advisory. If WebDialer is not in use, disable it.

If you ship a regular web app, do four things this week:

  1. List every endpoint where your server fetches a URL on behalf of a user.
  2. For each one, allowlist destinations by hostname and protocol. Block private IP ranges, link-local addresses, and the cloud metadata endpoints listed above.
  3. Use a separate HTTP client with no metadata access and a strict timeout for those fetches.
  4. Log the resolved destination, not just the supplied URL, so DNS rebinding cannot lie to your logs.

Where Axeploit Fits

SSRF is one of the bug classes Axeploit's agents specifically reason about. The fleet probes URL-accepting endpoints, follows redirects, tries protocol smuggling, and watches what your server actually fetches. It does not need you to flag the right inputs. You submit a URL, the agents map your app, and you get a list of the SSRF paths an attacker would find first.

Read a CVE writeup, then ask whether your own app would have shipped the same bug. The honest answer is usually yes.

Scan your app now: https://panel.axeploit.com/signup

References

https://nvd.nist.gov/vuln/detail/CVE-2026-20230

https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-cucm-ssrf-cXPnHcW

https://denizhalil.com/2026/06/12/cve-2026-20230-cisco-unified-cm-ssrf/

https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html

https://portswigger.net/web-security/ssrf

Integrate Axeploit into your workflow today!

CVE-2026-20230: A Cisco SSRF That Walks Itself to Root