Every CVE Search/ Get API key

CVE-2023-45667

Null pointer dereference because of an uninitialized variable in stb_image

5.3 MediumFix available

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

1.27%Up 1.2 points since Oct 21, 2023
90%50%10%1%

What each source reports

CVE List Score used 5.3

Null pointer dereference because of an uninitialized variable in stb_image

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Record
CVE-2023-45667
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-476
Updated
2026-11-02
EUVDEUVD-2023-49958 5.3

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Record
EUVD-2023-49958
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-03
NVD 5.3

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Record
CVE-2023-45667
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-476
Updated
2026-11-02
OSVALPINE-CVE-2023-45667 7.5

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Record
ALPINE-CVE-2023-45667
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-03
OSV 5.3

Null pointer dereference because of an uninitialized variable in stb_image

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Record
CVE-2023-45667
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-476
Updated
2026-11-02
OSVDEBIAN-CVE-2023-45667 7.5

stb_image is a single file MIT licensed library for processing images. If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Record
DEBIAN-CVE-2023-45667
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2024-1262 9.8

stb security update

Single-file public domain libraries for C/C++.

Security Fix(es):

stb_image is a single file MIT licensed library for processing images. It may look like stbi__load_gif_main doesn’t give guarantees about the content of output value *delays upon failure. Although it sets *delays to zero at the beginning, it doesn’t do it in case the image is not recognized as GIF and a call to stbi__load_gif_main_outofmem only frees possibly allocated memory in *delays without resetting it to zero. Thus it would be fair to say the caller of stbi__load_gif_main is responsible to free the allocated memory in *delays only if stbi__load_gif_main returns a non null value. However at the same time the function may return null value, but fail to free the memory in *delays if internally stbi__convert_format is called and fails. Thus the issue may lead to a memory leak if the caller chooses to free delays only when stbi__load_gif_main didn’t fail or to a double-free if the delays is always freed(CVE-2023-45666)

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.(CVE-2023-45667)

Record
OESA-2024-1262
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVOESA-2024-1263 9.8

stb security update

Single-file public domain libraries for C/C++.

Security Fix(es):

stb_image is a single file MIT licensed library for processing images. It may look like stbi__load_gif_main doesn’t give guarantees about the content of output value *delays upon failure. Although it sets *delays to zero at the beginning, it doesn’t do it in case the image is not recognized as GIF and a call to stbi__load_gif_main_outofmem only frees possibly allocated memory in *delays without resetting it to zero. Thus it would be fair to say the caller of stbi__load_gif_main is responsible to free the allocated memory in *delays only if stbi__load_gif_main returns a non null value. However at the same time the function may return null value, but fail to free the memory in *delays if internally stbi__convert_format is called and fails. Thus the issue may lead to a memory leak if the caller chooses to free delays only when stbi__load_gif_main didn’t fail or to a double-free if the delays is always freed(CVE-2023-45666)

stb_image is a single file MIT licensed library for processing images.

If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.(CVE-2023-45667)

Record
OESA-2024-1263
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2023-45667 5.3

stb_image is a single file MIT licensed library for processing images. If stbi__load_gif_main in stbi_load_gif_from_memory fails it returns a null pointer and may keep the z variable uninitialized. In case the caller also sets the flip vertically flag, it continues and calls stbi__vertical_flip_slices with the null pointer result value and the uninitialized z value. This may result in a program crash.

Record
UBUNTU-CVE-2023-45667
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
stb
Alpine:v3.19
before 0_git20231012-r0
0_git20231012-r0
stb
Alpine:v3.20
before 0_git20231012-r0
0_git20231012-r0
stb
Alpine:v3.21
before 0_git20231012-r0
0_git20231012-r0
stb
Alpine:v3.22
before 0_git20231012-r0
0_git20231012-r0
stb
Alpine:v3.23
before 0_git20231012-r0
0_git20231012-r0
stb
Alpine:v3.24
before 0_git20231012-r0
0_git20231012-r0
libstb
Debian:12
All versions, plus listed versions
0.0~git20220908.8b5f1f3+ds-10.0~git20230129.5736b15+ds-10.0~git20230129.5736b15+ds-1.10.0~git20230129.5736b15+ds-1.1~exp10.0~git20230129.5736b15+ds-1.20.0~git20240715.f7f20f39fe4f+ds-10.0~git20241109.5c20573+ds-10.0~git20250907.fede005+ds-1
None known
libstb
Debian:13
All versions, plus listed versions
0.0~git20241109.5c20573+ds-10.0~git20250907.fede005+ds-1
None known
libstb
Debian:14
All versions, plus listed versions
0.0~git20241109.5c20573+ds-10.0~git20250907.fede005+ds-1
None known
stb
openEuler:22.03-LTS-SP3
before 0.20220908git8b5f1f3-0.12.oe2203sp3
0.20220908git8b5f1f3-0.12.oe2203sp3
Show 7 moreShow less
Affected packages
PackageAffectedFixed
stb
openEuler:22.03-LTS-SP2
before 0.20220908git8b5f1f3-0.12.oe2203sp2
0.20220908git8b5f1f3-0.12.oe2203sp2
libstb
Ubuntu:20.04:LTS
All versions, plus listed versions
0.0~git20190817.1.052dce1-1
None known
libstb
Ubuntu:22.04:LTS
All versions, plus listed versions
0.0~git20200713.b42009b+ds-10.0~git20210910.af1a5bc+ds-1
None known
libstb
Ubuntu:24.04:LTS
All versions, plus listed versions
0.0~git20230129.5736b15+ds-10.0~git20230129.5736b15+ds-1.10.0~git20230129.5736b15+ds-1.2
None known
libstb
Ubuntu:25.10
All versions, plus listed versions
0.0~git20240715.f7f20f39fe4f+ds-10.0~git20241109.5c20573+ds-1
None known
libstb
Ubuntu:26.10
All versions, plus listed versions
0.0~git20250907.fede005+ds-1
None known
libstb
Ubuntu:26.04:LTS
All versions, plus listed versions
0.0~git20241109.5c20573+ds-10.0~git20250907.fede005+ds-1
None known

History

History
RecordedChangedSources
affected, aliases, referencesOSV
aliases, publishedEUVD
first indexedCVE List, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2023-45667 is a medium vulnerability (CVSS 5.3) in Nothings Stb, published October 20, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.27%, the 69th percentile. Fixed in stb 0_git20231012-r0.

References

Show 8 moreShow less
MoveEnter Open