Reference material — not professional advice. Test in staging, back up first, verify against your specific version. Use your own judgment for your environment.
● Critical · CVSS 10 ⚠ ACTIVELY EXPLOITED — CISA KEV

How to Fix CVE-2022-22947: Improper Control of Generation of Code ('Code Injection' in Spring Cloud Gateway

⚡ At a glance
SeverityCVSS 10 (Critical)
Actively exploited?Yes. Listed in CISA KEV (added 2022-05-16).
AffectedSpring cloud gateway versions 3.1.x prior to 3.1.1+, 3.0.x prior to 3.0.7+ and all old and unsupported versions
Fixed in3.1.1+ or later (vendor patched build)
Type (CWE)CWE-94: Improper Control of Generation of Code ('Code Injection'

⚠️ CISA KEV listing: active exploitation. Added to the Known Exploited Vulnerabilities catalog on 2022-05-16; remediation due date for federal civilian agencies: 2022-06-06.

What is CVE-2022-22947?

In spring cloud gateway versions prior to 3.1.1+ and 3.0.7+, applications are vulnerable to a code injection attack when the Gateway Actuator endpoint is enabled, exposed and unsecured. A remote attacker could make a maliciously crafted request that could allow arbitrary remote execution on the remote host.

CISA has confirmed in-the-wild exploitation. The KEV catalog listing is the strongest possible signal that this is not a theoretical bug. Patch on the published timeline.

Am I affected?

You are affected if you run Spring cloud gateway versions 3.1.x prior to 3.1.1+, 3.0.x prior to 3.0.7+ and all old and unsupported versions.

Check the running build via the vendor management UI or appliance shell. VMware's VMSA advisories list the exact fixed builds per product line.

If the build is older than the patched release listed under Fixed in, this CVE applies and you should follow the remediation steps below.

How to fix CVE-2022-22947

The vendor fix is to upgrade to a patched build. The verified patched version per the official advisory is 3.1.1+ or later (vendor patched build).

  1. Read the official advisory for the exact patched build that applies to your deployment model (see https://tanzu.vmware.com/security/cve-2022-22947).
  1. Plan the upgrade window. Spring Cloud Gateway updates are not always hot-pluggable; check the vendor's release notes for required restarts, database migrations, or licensing steps before scheduling production downtime.
  1. Take a verified backup of configuration and data before upgrading. Roll-back is faster than rebuilding.
  1. Apply the patch or upgrade using your normal package or vendor installer flow. Use the vendor's documented procedure, not a third-party guide.
  1. Restart services as the advisory directs. Some fixes only become active after a service restart, others after a full reboot.

Patch via your OS package manager


# The exact package name and patched version are listed in the vendor advisory:
# https://tanzu.vmware.com/security/cve-2022-22947
# Debian / Ubuntu
sudo apt update
sudo apt install --only-upgrade springcloudgateway

# RHEL / Rocky / AlmaLinux / Fedora
sudo dnf upgrade springcloudgateway

# openSUSE
sudo zypper update springcloudgateway

# Verify the running version matches the fixed version
dpkg -s springcloudgateway 2>/dev/null | grep -i version || rpm -q springcloudgateway 2>/dev/null

# Windows: pull the cumulative update that ships this fix.
Install-Module PSWindowsUpdate -Force -SkipPublisherCheck
Get-WindowsUpdate -AcceptAll -Install -AutoReboot

Verify the fix landed


# 1. Confirm the running version matches the fixed-in version from the advisory:
#    https://tanzu.vmware.com/security/cve-2022-22947
#    Use the platform-specific version probe above.

# 2. Re-scan with your vulnerability scanner (Nessus, Qualys, Tenable, OpenVAS).
#    The scanner should no longer flag CVE-2022-22947 on the patched target.

# 3. Inspect recent service / kernel logs for crash loops or rollback events.
journalctl -u <service> --since "10 minutes ago"
dmesg --since "10 minutes ago"

If you can't patch immediately

Apply only mitigations documented by the vendor. If no official workaround is published, the patched build is the only supported remediation. While you plan the upgrade window:

Given that this CVE is in CISA KEV, the time-to-patch window for federal civilian agencies has been set, and most enterprises track those due dates as the practical floor, not a federal-only target.

How to verify the fix worked

  1. Confirm the running version of Spring Cloud Gateway matches or exceeds the patched build the vendor specifies. The CVE record under References lists the fixed version explicitly.
  1. Check service logs for restart messages and verify the service came up clean after the upgrade. A failed restart that silently rolls back to the unpatched binary is a common operational mistake.
  1. Review the audit log for any suspicious access during the period the system was unpatched. Pre-patch exploitation leaves traces; failed login bursts, unexpected file uploads, and new admin accounts are common indicators. If the host was reachable from the internet during the exposure window, assume the IoC hunt is mandatory rather than optional.
  1. Re-run a vulnerability scanner (Nessus, Qualys, Tenable, OpenVAS) against the host after patching. The scanner should no longer flag this CVE on the same target. If it still does, double-check that you upgraded the right component, since many products bundle several services and only one of them may carry the fix.
  1. Document the patch evidence for KEV reporting. Vulnerabilities in CISA KEV are tracked by FCEB agencies under BOD 22-01. Even outside the federal sector, the same evidence (build number, patch date, scanner clean report) is what auditors typically ask for.

Frequently asked questions

Other vulnerabilities in the same area that are worth patching alongside this one:

Is CVE-2022-22947 being exploited in the wild?

Yes. CISA added it to the Known Exploited Vulnerabilities catalog on 2022-05-16, which means there is confirmed evidence of active exploitation.

Does the patch require a reboot?

It depends on the deployment. Spring Cloud Gateway updates that replace running services usually need at minimum a service restart; some require a host reboot. Check the vendor release notes linked under References for the exact post-upgrade steps.

What if my version of Spring Cloud Gateway is end-of-life?

End-of-life builds will not receive the fix. The vendor's published guidance in cases like this is to upgrade to a supported branch first, then apply the patched build. Running an EOL release on an internet-reachable interface is the higher risk.

References


*This guide was assembled from the official vendor advisory, the NVD record, and the CISA KEV listing on 2026-05-25. Always confirm against the vendor's advisory before applying changes in production. Byline: Sai Kiran Pandrala.*