Vulnerability · Published May 11, 2023 · Assigned by Go
CVE-2023-24540Improper handling of JavaScript whitespace in html/template
Critical 9.8
In plain English
A critical-severity command injection in html/template from Go standard library. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.6% (higher than 75% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Severity (CVSS 3.1)9.8Critical
Exploit odds (30 days)1.6%top 24.7% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known
Official description
Not all valid JavaScript whitespace characters are considered to be whitespace. Templates containing whitespace characters outside of the character set "\t\n\f\r\u0020\u2028\u2029" in JavaScript contexts that also contain actions may not be properly sanitized during execution.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | aardvark-dns | 2:1.0.1-38.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | aardvark-dns | 2:1.7.0-1.module_el8.9.0+3657+d86e192f | ALSA-2023:6939 |
| AlmaLinux:8 | buildah | 1:1.31.3-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | buildah | 1:1.24.6-7.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:9 | buildah | 1:1.31.3-1.el9 | ALSA-2023:6473 |
| AlmaLinux:8 | buildah-tests | 1:1.24.6-7.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | buildah-tests | 1:1.31.3-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:9 | buildah-tests | 1:1.31.3-1.el9 | ALSA-2023:6473 |
| AlmaLinux:8 | cockpit-podman | 46-1.module_el8.7.0+3344+5bcd850f | ALSA-2023:6938 |
| AlmaLinux:8 | cockpit-podman | 75-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | conmon | 3:2.1.8-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | conmon | 2:2.1.4-2.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | container-selinux | 2:2.205.0-3.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | container-selinux | 2:2.221.0-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | containernetworking-plugins | 1:1.1.1-5.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | containernetworking-plugins | 1:1.3.0-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:9 | containernetworking-plugins | 1:1.3.0-4.el9 | ALSA-2023:6402 |
| AlmaLinux:8 | containers-common | 2:1-38.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | containers-common | 2:1-54.module_el8.9.0+3673+0c64b403 | ALSA-2023:6939 |
| AlmaLinux:8 | crit | 3.15-3.module_el8.6.0+3137+d33c3efb | ALSA-2023:6938 |
| AlmaLinux:8 | crit | 3.15-3.module_el8.6.0+2877+8e437bf5 | ALSA-2023:6938 |
| AlmaLinux:8 | crit | 3.18-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | criu | 3.18-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | criu | 3.15-3.module_el8.6.0+2877+8e437bf5 | ALSA-2023:6938 |
| AlmaLinux:8 | criu | 3.15-3.module_el8.6.0+3137+d33c3efb | ALSA-2023:6938 |
| AlmaLinux:8 | criu-devel | 3.15-3.module_el8.6.0+2877+8e437bf5 | ALSA-2023:6938 |
| AlmaLinux:8 | criu-devel | 3.18-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | criu-devel | 3.15-3.module_el8.6.0+3137+d33c3efb | ALSA-2023:6938 |
| AlmaLinux:8 | criu-libs | 3.15-3.module_el8.6.0+2877+8e437bf5 | ALSA-2023:6938 |
| AlmaLinux:8 | criu-libs | 3.18-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | criu-libs | 3.15-3.module_el8.6.0+3137+d33c3efb | ALSA-2023:6938 |
| AlmaLinux:8 | crun | 1.8.7-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | crun | 1.8.3-1.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | delve | 1.9.1-1.module_el8.8.0+3471+a62632a0 | ALSA-2023:3319 |
| AlmaLinux:8 | fuse-overlayfs | 1.9-2.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | fuse-overlayfs | 1.12-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | go-toolset | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | go-toolset | 1.19.9-1.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | golang | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | golang | 1.19.9-2.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | golang-bin | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | golang-bin | 1.19.9-2.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | golang-docs | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | golang-docs | 1.19.9-2.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | golang-misc | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | golang-misc | 1.19.9-2.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | golang-race | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | golang-race | 1.19.9-2.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | golang-src | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | golang-src | 1.19.9-2.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | golang-tests | 1.19.9-1.module_el8.8.0+3570+5dc5ffc3 | ALSA-2023:3319 |
| AlmaLinux:9 | golang-tests | 1.19.9-2.el9_2 | ALSA-2023:3318 |
| AlmaLinux:8 | libslirp | 4.4.0-1.module_el8.6.0+3137+d33c3efb | ALSA-2023:6938 |
| AlmaLinux:8 | libslirp | 4.4.0-1.module_el8.6.0+2877+8e437bf5 | ALSA-2023:6938 |
| AlmaLinux:8 | libslirp | 4.4.0-1.module_el8.8.0+3615+3543c705 | ALSA-2023:6939 |
| AlmaLinux:8 | libslirp-devel | 4.4.0-1.module_el8.6.0+3137+d33c3efb | ALSA-2023:6938 |
| AlmaLinux:8 | libslirp-devel | 4.4.0-1.module_el8.6.0+2877+8e437bf5 | ALSA-2023:6938 |
| AlmaLinux:8 | libslirp-devel | 4.4.0-1.module_el8.8.0+3615+3543c705 | ALSA-2023:6939 |
| AlmaLinux:8 | netavark | 2:1.0.1-38.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | netavark | 2:1.7.0-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | oci-seccomp-bpf-hook | 1.2.9-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | oci-seccomp-bpf-hook | 1.2.5-2.module_el8.8.0+3468+16b86c82 | ALSA-2023:6938 |
| AlmaLinux:8 | podman | 2:4.0.2-24.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | podman | 3:4.6.1-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:9 | podman | 2:4.6.1-5.el9 | ALSA-2023:6474 |
| AlmaLinux:8 | podman-catatonit | 2:4.0.2-24.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | podman-catatonit | 3:4.6.1-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | podman-docker | 3:4.6.1-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | podman-docker | 2:4.0.2-24.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:9 | podman-docker | 2:4.6.1-5.el9 | ALSA-2023:6474 |
| AlmaLinux:8 | podman-gvproxy | 2:4.0.2-24.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | podman-gvproxy | 3:4.6.1-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:9 | podman-gvproxy | 2:4.6.1-5.el9 | ALSA-2023:6474 |
| AlmaLinux:8 | podman-plugins | 3:4.6.1-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | podman-plugins | 2:4.0.2-24.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:9 | podman-plugins | 2:4.6.1-5.el9 | ALSA-2023:6474 |
| AlmaLinux:8 | podman-remote | 2:4.0.2-24.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | podman-remote | 3:4.6.1-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:9 | podman-remote | 2:4.6.1-5.el9 | ALSA-2023:6474 |
| AlmaLinux:8 | podman-tests | 2:4.0.2-24.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | podman-tests | 3:4.6.1-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:9 | podman-tests | 2:4.6.1-5.el9 | ALSA-2023:6474 |
| AlmaLinux:8 | python3-criu | 3.15-3.module_el8.6.0+3137+d33c3efb | ALSA-2023:6938 |
| AlmaLinux:8 | python3-criu | 3.18-4.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | python3-criu | 3.15-3.module_el8.6.0+2877+8e437bf5 | ALSA-2023:6938 |
| AlmaLinux:8 | python3-podman | 4.6.0-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | python3-podman | 4.0.0-2.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | runc | 1:1.1.5-2.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | runc | 1:1.1.9-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | skopeo | 2:1.13.3-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | skopeo | 2:1.6.2-8.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:9 | skopeo | 2:1.13.3-1.el9 | ALSA-2023:6363 |
| AlmaLinux:8 | skopeo-tests | 2:1.13.3-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | skopeo-tests | 2:1.6.2-8.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:9 | skopeo-tests | 2:1.13.3-1.el9 | ALSA-2023:6363 |
| AlmaLinux:8 | slirp4netns | 1.2.1-1.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | slirp4netns | 1.1.8-3.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:8 | toolbox | 0.0.99.4-5.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | toolbox | 0.0.99.4-5.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:9 | toolbox | 0.0.99.4-6.el9_3 | ALSA-2023:6346 |
| AlmaLinux:8 | toolbox-tests | 0.0.99.4-5.module_el8.9.0+3643+9234dc3b | ALSA-2023:6939 |
| AlmaLinux:8 | toolbox-tests | 0.0.99.4-5.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| AlmaLinux:9 | toolbox-tests | 0.0.99.4-6.el9_3 | ALSA-2023:6346 |
| AlmaLinux:8 | udica | 0.2.6-20.module_el8.8.0+3615+3543c705 | ALSA-2023:6939 |
| AlmaLinux:8 | udica | 0.2.6-4.module_el8.9.0+3627+db8ec155 | ALSA-2023:6938 |
| Alpine:v3.20 | go | 1.20.4-r0 | ALPINE-CVE-2023-24540 |
| Alpine:v3.21 | go | 1.20.4-r0 | ALPINE-CVE-2023-24540 |
| Alpine:v3.22 | go | 1.20.4-r0 | ALPINE-CVE-2023-24540 |
| Alpine:v3.23 | go | 1.20.4-r0 | ALPINE-CVE-2023-24540 |
| Alpine:v3.24 | go | 1.20.4-r0 | ALPINE-CVE-2023-24540 |
| Debian:12 | golang-1.19 | no fix listed | DEBIAN-CVE-2023-24540 |
| Go | stdlib | 1.19.9, 1.20.4 | GO-2023-1752 |
| Rocky Linux:8 | buildah | 1:1.24.6-7.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | cockpit-podman | 0:46-1.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | conmon | 2:2.1.4-2.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | container-selinux | 2:2.205.0-3.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | containernetworking-plugins | 1:1.1.1-5.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | containers-common | 2:1-38.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | criu | 0:3.15-3.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | crun | 0:1.8.3-1.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | delve | 0:1.9.1-1.module+el8.8.0+1263+19d1a562 | RLSA-2023:3319 |
| Rocky Linux:8 | fuse-overlayfs | 0:1.9-2.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | go-toolset | 0:1.19.9-1.module+el8.8.0+1298+7af20600 | RLSA-2023:3319 |
| Rocky Linux:8 | golang | 0:1.19.9-1.module+el8.8.0+1298+7af20600 | RLSA-2023:3319 |
| Rocky Linux:8 | libslirp | 0:4.4.0-1.module+el8.9.0+1445+07728297 | RLSA-2023:6939 |
| Rocky Linux:8 | libslirp | 0:4.4.0-1.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | oci-seccomp-bpf-hook | 0:1.2.5-2.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | podman | 2:4.0.2-24.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | python-podman | 0:4.0.0-2.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | runc | 1:1.1.5-2.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | slirp4netns | 0:1.1.8-3.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Rocky Linux:8 | udica | 0:0.2.6-4.module+el8.9.0+1445+07728297 | RLSA-2023:6938 |
| Ubuntu:22.04:LTS | golang-1.20 | 1.20.3-1ubuntu0.1~22.04 | UBUNTU-CVE-2023-24540 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Go standard library | html/template | 0 – before 1.19.91.20.0-0 – before 1.20.4 |
Weakness: CWE-77 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H