p PatchFirst

PatchFirst · Latest vulnerabilities

libstb vulnerabilities · Page 2

Vulnerabilities published for libstb in the last 30 days: 2. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 52

  1. CVE-2023-45680

    Medium · CVSS 5.3EPSS 0.56%No fix published

    Null pointer dereference in vorbis_deinit in stb_vorbis

    stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger memory allocation failure in `start_decoder`. In that case the function returns early, the `f->comment_list` is set to `NULL`, but `f->comment_list_length` is not reset. Later in `vorbis_deinit` it tries to dereference the `NULL` pointer. This issue may lead to denial of service.

    Published Updated
  2. CVE-2023-45679

    High · CVSS 7.3EPSS 0.51%No fix published

    Attempt to free an uninitialized memory pointer in vorbis_deinit in stb_vorbis

    stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger memory allocation failure in `start_decoder`. In that case the function returns early, but some of the pointers in `f->comment_list` are left initialized and later `setup_free` is called on these pointers in `vorbis_deinit`. This issue may lead to code execution.

    Published Updated
  3. CVE-2023-45678

    Medium · CVSS 6.5EPSS 0.74%No fix published

    Off-by-one heap buffer write in start_decoder in stb_vorbis

    stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger out of buffer write in `start_decoder` because at maximum `m->submaps` can be 16 but `submap_floor` and `submap_residue` are declared as arrays of 15 elements. This issue may lead to code execution.

    Published Updated
  4. CVE-2023-45677

    High · CVSS 7.3EPSS 0.53%No fix published

    Heap buffer out of bounds write in start_decoder in stb_vorbis

    stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger out of bounds write in `f->vendor[len] = (char)'\0';`. The root cause is that if `len` read in `start_decoder` is a negative number and `setup_malloc` successfully allocates memory in that case, but memory write is done with a negative index `len`. Similarly if len is INT_MAX the integer overflow len+1 happens in `f->vendor = (char*)setup_malloc(f, sizeof(char) * (len+1));` and `f->comment_list[i] = (char*)setup_malloc(f, sizeof(char) * (len+1));`. This issue may lead to code execution.

    Published Updated
  5. CVE-2023-45676

    High · CVSS 7.3EPSS 0.51%No fix published

    Multi-byte write heap buffer overflow in start_decoder in stb_vorbis

    stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger out of bounds write in `f->vendor[i] = get8_packet(f);`. The root cause is an integer overflow in `setup_malloc`. A sufficiently large value in the variable `sz` overflows with `sz+7` in and the negative value passes the maximum available memory buffer check. This issue may lead to code execution.

    Published Updated
  6. CVE-2023-45675

    Medium · CVSS 6.5EPSS 0.74%No fix published

    0 byte write heap buffer overflow in start_decoder in stb_vorbis

    stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger out of bounds write in `f->vendor[len] = (char)'\0';`. The root cause is that if the len read in `start_decoder` is `-1` and `len + 1` becomes 0 when passed to `setup_malloc`. The `setup_malloc` behaves differently when `f->alloc.alloc_buffer` is pre-allocated. Instead of returning `NULL` as in `malloc` case it shifts the pre-allocated buffer by zero and returns the currently available memory block. This issue may lead to code execution.

    Published Updated
  7. CVE-2023-45667

    Medium · CVSS 5.3EPSS 1.27%No fix published

    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.

    Published Updated
  8. CVE-2023-45666

    High · CVSS 7.3EPSS 1.07%No fix published

    Possible double-free or memory leak in stbi__load_gif_main in stb_image

    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

    Published Updated
  9. CVE-2023-45664

    High · CVSS 7.3EPSS 0.93%No fix published

    Double-free in stbi__load_gif_main_outofmem in stb_image

    stb_image is a single file MIT licensed library for processing images. A crafted image file can trigger `stbi__load_gif_main_outofmem` attempt to double-free the out variable. This happens in `stbi__load_gif_main` because when the `layers * stride` value is zero the behavior is implementation defined, but common that realloc frees the old memory and returns null pointer. Since it attempts to double-free the memory a few lines below the first “free”, the issue can be potentially exploited only in a multi-threaded environment. In the worst case this may lead to code execution.

    Published Updated
  10. CVE-2023-45663

    Medium · CVSS 5.3EPSS 0.66%No fix published

    Disclosure of uninitialized memory in stbi__tga_load in stb_image

    stb_image is a single file MIT licensed library for processing images. The stbi__getn function reads a specified number of bytes from context (typically a file) into the specified buffer. In case the file stream points to the end, it returns zero. There are two places where its return value is not checked: In the `stbi__hdr_load` function and in the `stbi__tga_load` function. The latter of the two is likely more exploitable as an attacker may also control the size of an uninitialized buffer.

    Published Updated
  11. CVE-2023-45662

    Medium · CVSS 6.5EPSS 0.81%No fix published

    Multi-byte read heap buffer overflow in stbi__vertical_flip in stb_image

    stb_image is a single file MIT licensed library for processing images. When `stbi_set_flip_vertically_on_load` is set to `TRUE` and `req_comp` is set to a number that doesn’t match the real number of components per pixel, the library attempts to flip the image vertically. A crafted image file can trigger `memcpy` out-of-bounds read because `bytes_per_pixel` used to calculate `bytes_per_row` doesn’t match the real image array dimensions.

    Published Updated
  12. CVE-2023-45661

    Medium · CVSS 6.5EPSS 0.57%No fix published

    Wild address read in stbi__gif_load_next in stb_image

    stb_image is a single file MIT licensed library for processing images. A crafted image file may trigger out of bounds memcpy read in `stbi__gif_load_next`. This happens because two_back points to a memory address lower than the start of the buffer out. This issue may be used to leak internal memory allocation information.

    Published Updated
  13. CVE-2021-42716

    High · CVSS 7.1EPSS 1.46%Fix available

    CVE-2021-42716

    An issue was discovered in stb stb_image.h 2.27. The PNM loader incorrectly interpreted 16-bit PGM files as 8-bit when converting to RGBA, leading to a buffer overflow when later reinterpreting the result as a 16-bit buffer. An attacker could potentially have crashed a service using stb_image, or read up to 1024 bytes of non-consecutive heap data without control over the read location.

    • Update to 0.0~git20230129.5736b15+ds-1
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →