GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

OESA-2024-1262 (CVE-2023-45666)

Vulnerability from osv_openeuler – Published: 2024-03-08 11:06 – Updated: 2026-08-06 11:06 – Source website
VLAI
Summary
stb security update
Details

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)


{
  "affected": [
    {
      "ecosystem_specific": {
        "aarch64": [
          "stb_perlin-devel-0.5.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_connected_components-devel-0.96.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb-devel-0.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_image-devel-2.27.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_easy_font-devel-1.1.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_vorbis-devel-1.22.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_dxt-devel-1.12.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_ds-devel-0.67.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_rect_pack-devel-1.1.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_sprintf-devel-1.10.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_divide-devel-0.94.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_truetype-devel-1.26.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_voxel_render-devel-0.89.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_c_lexer-devel-0.12.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_image_resize-devel-0.97.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_hexwave-devel-0.5.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_herringbone_wang_tile-devel-0.7.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_image_write-devel-1.16.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_tilemap_editor-devel-0.42.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_leakcheck-devel-0.6.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm",
          "stb_textedit-devel-1.14.20220908git8b5f1f3-0.12.oe2203sp3.aarch64.rpm"
        ],
        "noarch": [
          "stb-help-0.20220908git8b5f1f3-0.12.oe2203sp3.noarch.rpm"
        ],
        "src": [
          "stb-0.20220908git8b5f1f3-0.12.oe2203sp3.src.rpm"
        ],
        "x86_64": [
          "stb_connected_components-devel-0.96.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_truetype-devel-1.26.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_herringbone_wang_tile-devel-0.7.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_vorbis-devel-1.22.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_divide-devel-0.94.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_tilemap_editor-devel-0.42.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_dxt-devel-1.12.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_rect_pack-devel-1.1.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb-devel-0.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_perlin-devel-0.5.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_textedit-devel-1.14.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_leakcheck-devel-0.6.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_easy_font-devel-1.1.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_hexwave-devel-0.5.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_ds-devel-0.67.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_image_write-devel-1.16.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_image-devel-2.27.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_voxel_render-devel-0.89.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_image_resize-devel-0.97.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_sprintf-devel-1.10.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm",
          "stb_c_lexer-devel-0.12.20220908git8b5f1f3-0.12.oe2203sp3.x86_64.rpm"
        ]
      },
      "package": {
        "ecosystem": "openEuler:22.03-LTS-SP3",
        "name": "stb",
        "purl": "pkg:rpm/openEuler/stb\u0026distro=openEuler-22.03-LTS-SP3"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "0.20220908git8b5f1f3-0.12.oe2203sp3"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "severity": "Critical"
  },
  "details": "Single-file public domain libraries for C/C++.\r\n\r\nSecurity Fix(es):\r\n\r\nstb_image is a single file MIT licensed library for processing images.  It may look like `stbi__load_gif_main` doesn\u2019t give guarantees about the content of output value `*delays` upon failure. Although it sets `*delays` to zero at the beginning, it doesn\u2019t 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\u2019t fail or to a double-free if the `delays` is always freed(CVE-2023-45666)\r\n\r\nstb_image is a single file MIT licensed library for processing images.\r\n\r\nIf `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)",
  "id": "OESA-2024-1262",
  "modified": "2026-08-06T11:06:42Z",
  "published": "2024-03-08T11:06:42Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2024-1262"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-45666"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-45667"
    }
  ],
  "schema_version": "1.7.2",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "stb security update",
  "upstream": [
    "CVE-2023-45666",
    "CVE-2023-45667"
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…