KubernetesLVI · Kubernetes Security FoundationsSecurity foundations
CVE landscape and known issues — staying current
What you'll learn
- Recall the major Kubernetes CVEs and what each one taught the platform
- Identify the cadence of security releases and the support windows
- Plan an upgrade cadence that absorbs security fixes without breaking workloads
- Subscribe to the right advisories (CVE feed, distribution feeds, GitHub Security Advisories)
Prerequisites
Verified against Kubernetes 1.34.x · kubeadm 1.34.x · kubectl 1.34.x · etcd 3.6.x · CoreDNS 1.11.x · containerd 1.7.x / 2.x · 2026-08-16
Kubernetes is a fast-moving target. Every minor release brings feature work, dependency updates, and — frequently — security fixes. A cluster that does not upgrade is, by definition, accumulating vulnerabilities. This lesson covers the CVE cadence, the historic issues that shaped the platform, and the discipline of staying current.
The release cadence
Kubernetes ships three minor releases per year (roughly every four months). Each minor release is supported for ~14 months with security backports. The current support window for 1.34.x runs from its GA date through approximately three months after 1.37’s GA — roughly August 2026 through late 2027.
gantt
title Kubernetes release and support windows
dateFormat YYYY-MM
axisFormat %b %Y
section Kubernetes
1.32 (legacy) :done, 2024-12, 2026-04
1.33 (supported) :active, 2025-04, 2026-08
1.34 (current) :active, 2025-08, 2027-01
1.35 (next) :2026-01, 2027-05
1.36 (future) :2026-05, 2027-09
A cluster running 1.30 or earlier is past the support window and receives no security backports. The first control of CVE management is stay within the supported window.
The historic CVEs
The list of Kubernetes CVEs is short relative to the number of features shipped, but each one is a story:
| CVE | Year | Severity | Component | What it taught |
|---|---|---|---|---|
| CVE-2018-1002105 | 2018 | Critical | API server | API server proxy upgrade allowed arbitrary request execution on backend nodes. Patched in 1.10.9, 1.11.5, 1.12.3. |
| CVE-2019-11249 | 2019 | Critical | API server | YAML parsing allowed DoS via crafted requests. Patched in 1.12.7, 1.13.5. |
| CVE-2020-8554 | 2020 | Medium | API server | Man-in-the-middle on API server proxy. Mitigated by upgrading and by network segmentation. |
| CVE-2021-25742 | 2021 | High | ingress-nginx | Symlink traversal allowed reading cluster secrets. Reinforced the rule: do not run ingress-nginx with arbitrary host paths. |
| CVE-2022-3172 | 2022 | High | kube-proxy | HTTP/2 request smuggling via external IP. Fixed in 1.25, 1.24.4, 1.23.10. |
| CVE-2023-3676 | 2023 | High | kubectl build | kubectl build (removed in 1.30) had a path traversal. |
| CVE-2024-3177 | 2024 | High | api-server / proxy | Request smuggling via X-Forwarded-* headers. Patched in 1.30, 1.29.4. |
The lesson from each is the same: stay current. The patch is always in the next supported minor; the cluster that did not upgrade is the one that fell.
The CVE feed
The Kubernetes project publishes CVEs in three places:
- GitHub Security Advisories at
github.com/kubernetes/kubernetes/security/advisories— the canonical feed. Subscribe to theWatchfor the repo. - kubernetes.io/docs/reference/issues-security/security/ — the human-readable index.
- Distribution feeds — GKE, EKS, AKS each publish their own CVE feed because they backport patches on their own cadence. A GKE cluster receives a patch within days of upstream; a kubeadm cluster waits for the operator.
# Verify the running version
kubectl version
# Check for advisories against this version
# Visit https://github.com/kubernetes/kubernetes/security/advisories?query=published%3A%3E2026-01-01
Staying current in production
The right cadence for production is:
- Patch releases (
x.y.z): apply within 2 weeks of release. These are security and bug fixes; the API surface does not change. - Minor releases (
x.y): apply within 3 months of release. API deprecations and removals may affect workloads. - Major (the third number in semver terms, but Kubernetes calls these “minor”): the same cadence.
The most common production failure is patch avoidance. Operators wait for the next minor before applying patches because they conflate the two release types. The result is a cluster that runs 1.30.0 in production when 1.30.7 exists.
Production failure modes
- Conflating the cadences. “We apply Kubernetes upgrades once a year” is a statement that the cluster misses every patch and most minors. The two cadences are independent.
- No CVE subscription. A cluster whose security team has not subscribed to the Kubernetes CVE feed discovers CVEs only when an incident happens.
- Skipping minors. A cluster that jumps from 1.31 to 1.34 has three minors’ worth of API removals to absorb in one shot. The right discipline is one minor per quarter.
Cross-course references
- The Linux course covers kernel CVEs — the same cadence discipline applies.
- The Observability course covers the alerting that detects when an unpatched CVE is being exploited.
Quiz
Knowledge check · 4 questions
Q1. What is the right cadence for applying Kubernetes patch releases in production?
Q2. A Kubernetes cluster running a version that is past the upstream support window continues to receive security backports because the patches are applied to all released versions.
Q3. Your cluster runs 1.31.0 and has not been upgraded in 14 months. The security team has flagged CVE-2024-3177 (request smuggling) as Critical. The platform team is reluctant to upgrade because the last upgrade caused a 4-hour outage. What is the right path?
Cluster has 80 nodes, 1,200 workloads, 200 ServiceAccounts. Current version is 1.31.0. Last upgrade was 14 months ago. CVE-2024-3177 was patched in 1.30.4, 1.31.1, and 1.29.5. The cluster is internet-facing.
Q4. Name two sources where Kubernetes CVEs are published and explain why subscribing to both is the right discipline.
Passing score: 75%. Answers are checked in this browser.
Production discipline
A defensible cluster subscribes to the Kubernetes CVE feed, stays within the supported version window, applies patches within 2 weeks, and plans minor upgrades within 3 months. The security team’s quarterly review reports the current version, the latest available patch, the gap, and the upgrade plan. The platform team’s runbook documents the patch procedure with drain, cordon, PDB-aware batching, and a rollback path for the rare regression. CVE management is not a project; it is a cadence.