{"id":"CVE-2021-25748","aliases":["EUVD-2023-1500","GHSA-863x-868h-968x"],"status":"published","title":"Ingress-nginx `path` sanitization can be bypassed with newline character","description":"A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use a newline character to bypass the sanitization of the `spec.rules[].http.paths[].path` field of an Ingress object (in the `networking.k8s.io` or `extensions` API group) to obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.","severity":{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00694,"percentile":0.53254,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2023-05-24T00:00:00Z","modified":"2026-10-20T10:54:33Z","fixes":[{"ecosystem":"Go","package":"k8s.io/ingress-nginx","fixed_in":["1.2.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"k8s.io/ingress-nginx","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.1"}]}]},{"source":"osv","ecosystem":"Go","package":"k8s.io/ingress-nginx","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.2.1"}]}]}],"products":[{"vendor":"kubernetes","product":"ingress-nginx"},{"vendor":"kubernetes","product":"kubernetes ingress-nginx"}],"references":[{"url":"https://groups.google.com/g/kubernetes-security-announce/c/avaRYa9c7I8","tags":["x_transferred","Mailing List","Mitigation","Vendor Advisory","advisory","web"]},{"url":"https://github.com/kubernetes/ingress-nginx/issues/8686","tags":["x_transferred","Issue Tracking","Mitigation","Vendor Advisory","report","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-25748","tags":["advisory"]},{"url":"https://github.com/kubernetes/ingress-nginx/pull/8623","tags":["web"]},{"url":"https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.2.1","tags":["web"]},{"url":"https://github.com/advisories/GHSA-863x-868h-968x"},{"url":"https://github.com/kubernetes/ingress-nginx","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-25748","title":"Ingress-nginx `path` sanitization can be bypassed with newline character","description":"A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use a newline character to bypass the sanitization of the `spec.rules[].http.paths[].path` field of an Ingress object (in the `networking.k8s.io` or `extensions` API group) to obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.","status":"published","published":"2023-05-24T00:00:00Z","modified":"2025-01-16T21:23:39.341Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high","assessor":"cna"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:32:59.802172Z"}],"euvd":[{"id":"EUVD-2023-1500","description":"A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use a newline character to bypass the sanitization of the `spec.rules[].http.paths[].path` field of an Ingress object (in the `networking.k8s.io` or `extensions` API group) to obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.","status":"published","published":"2023-05-24T00:00:00Z","modified":"2025-01-16T21:23:39Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high"}],"updated_at":"2026-11-03T00:04:18.077485Z"}],"ghsa":[{"id":"GHSA-863x-868h-968x","title":"Ingress-nginx `path` sanitization can be bypassed with newline character","description":"A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use a newline character to bypass the sanitization of the `spec.rules[].http.paths[].path` field of an Ingress object (in the `networking.k8s.io` or `extensions` API group) to obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.","status":"published","published":"2023-05-24T18:30:26Z","modified":"2023-11-07T05:04:38Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:37:15.055009Z"}],"nvd":[{"id":"CVE-2021-25748","description":"A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use a newline character to bypass the sanitization of the `spec.rules[].http.paths[].path` field of an Ingress object (in the `networking.k8s.io` or `extensions` API group) to obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.","status":"published","published":"2023-05-24T17:15:09.253Z","modified":"2026-06-17T03:42:23.74Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:07:07.764332Z"}],"osv":[{"id":"CVE-2021-25748","description":"A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use a newline character to bypass the sanitization of the `spec.rules[].http.paths[].path` field of an Ingress object (in the `networking.k8s.io` or `extensions` API group) to obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.","status":"published","published":"2023-05-24T17:15:09.253Z","modified":"2026-10-20T10:54:33.752454899Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:18.778776Z"},{"id":"GHSA-863x-868h-968x","title":"Ingress-nginx `path` sanitization can be bypassed with newline character","description":"A security issue was discovered in ingress-nginx where a user that can create or update ingress objects can use a newline character to bypass the sanitization of the `spec.rules[].http.paths[].path` field of an Ingress object (in the `networking.k8s.io` or `extensions` API group) to obtain the credentials of the ingress-nginx controller. In the default configuration, that credential has access to all secrets in the cluster.","status":"published","published":"2023-05-24T18:30:26Z","modified":"2026-08-07T08:12:12.689596686Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:41.732368Z"}]}}
