Skip to content
OpenAdvisories

Weakness (CWE)

CWE-125: Out-of-bounds Read

Base Draft

The product reads data past the end, or before the beginning, of the intended buffer.

How to prevent it (2 mitigations)
  1. Implementation

    Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.

    When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."

    Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.

    To reduce the likelihood of introducing an out-of-bounds read, ensure that you validate and ensure correct calculations for any length argument, buffer size calculation, or offset. Be especially careful of relying on a sentinel (i.e. special character such as NUL) in untrusted inputs.

  2. Architecture and Design

    Use a language that provides appropriate memory abstractions.

Source: MITRE CWE-125

6,254 results · Feed

  • Medium 6.1

    GNU LibreDWG through 0.14.8612 Out-of-Bounds Read in acds_private AcDs Decoder

    GNU LibreDWG through 0.14.8612 contains a global out-of-bounds read vulnerability in the AcDs decoder acds_private() that allows attackers to read beyond a static table via an unchecked schema property type index. Attackers can supply a crafted R2004 or R2010…

  • Medium 5.5

    libmikmod through 3.3.15 Heap Out-of-Bounds Read via IMF_Load

    libmikmod through 3.3.15 contains a heap out-of-bounds read vulnerability in the IMF_Load() loader that allows attackers to read beyond allocated memory by supplying a crafted IMF module. Attackers can enable the linear-period header flag and map notes to out…

  • Medium 5.5

    libmikmod through 3.3.15 Out-of-Bounds Read in MTM_Load via Channel Count

    libmikmod through 3.3.15 contains a global out-of-bounds read vulnerability in the MultiTracker loader MTM_Load() because the module channel count is never clamped. Attackers can supply a crafted .mtm file with a channel count above 32 to read past the static…

  • Medium 5.5

    UADE through 3.05 Out-of-Bounds Read in uade_filemagic via Short Module

    UADE through 3.05 contains an out-of-bounds read vulnerability in uade_filemagic() in amifilemagic.c caused by unsigned bufsize subtraction wrapping on short inputs. Attackers can supply a crafted short module that passes format probe bounds checks and reads …

  • Medium 5.5

    WildMIDI through 0.5.0 Heap Out-of-Bounds Read via _WM_ParseNewHmi

    WildMIDI through 0.5.0 contains a heap out-of-bounds read vulnerability in _WM_ParseNewHmi() in src/f_hmi.c that reads past buffers when handling 0xfe sub-events. Attackers can supply a crafted HMI file placing a 0xfe 0x10 sub-event near the buffer end to rea…

  • Medium 6.1

    WildMIDI through 0.5.0 Heap Out-of-Bounds Read via _WM_ParseNewHmp

    WildMIDI through 0.5.0 contains a heap out-of-bounds read vulnerability in the HMP parser _WM_ParseNewHmp() that allows attackers to read beyond buffers via underflowed chunk lengths. Attackers can supply a crafted .hmp file with a chunk length of 0-12 that w…

  • Medium 6.1

    libewf through 20260924 Heap Out-of-Bounds Read via L01 Extended Attribute Parsing

    libewf through 20260924 contains a heap out-of-bounds read vulnerability in libewf_lef_extended_attribute_read_data() because UTF-16 name and value sizes are validated before being doubled. Attackers can supply a crafted .L01/.Lx01 file with oversized 'ea' me…

  • Medium 5.5

    EarthScope libmseed through 3.5.4 Heap Out-of-Bounds Read via ms3_detect

    EarthScope libmseed through 3.5.4 contains a heap out-of-bounds read vulnerability in ms3_detect() in parseutils.c that reads past truncated miniSEED 2 record buffers. Attackers can supply a 40 to 47 byte buffer passing MS2_ISVALIDHEADER to msr3_parse() or ms…

  • Medium 6.1

    libTiMidity through 0.2.8 Out-of-Bounds Read via SoundFont Loader sndfont.c

    libTiMidity through 0.2.8 contains a heap out-of-bounds read vulnerability in the SoundFont loader in src/sndfont.c that uses unvalidated sampleId and instrument generator values as table indices. Attackers can supply a crafted .sf2 file loaded through mid_se…

  • Medium 5.5

    Game Music Emu (libgme) through 0.6.5 Out-of-Bounds Read via Classic_Emu::mute_voices_

    Game Music Emu (libgme) through 0.6.5 contains a global out-of-bounds read vulnerability in Classic_Emu::mute_voices_ that allows attackers to crash applications by supplying NSF files whose voice count exceeds the 16-entry voice-type table. Attackers can cra…

  • Medium 5.5

    Game Music Emu (libgme) through 0.6.5 Heap Out-of-Bounds Read via AY Loader

    Game Music Emu (libgme) through 0.6.5 contains a heap out-of-bounds read vulnerability in the AY loader get_data function caused by an integer underflow in the track-table bounds check. Attackers can supply a crafted ZXAYEMUL file with an oversized track tabl…

  • Medium 5.5

    ValleyBell libvgm through commit a6eed945 Heap Out-of-Bounds Read via DecompressDataBlk

    ValleyBell libvgm through commit a6eed945 contains a heap out-of-bounds read vulnerability in the PCM data-block decompressor caused by an unbounded compression-table index. Attackers can supply a crafted .vgm file with a small type 0x7F table and wider compr…

  • Medium 5.5

    libsidplayfp through 3.1.1 Heap Out-of-Bounds Read via SidTuneBase::acceptSidTune

    libsidplayfp through 3.1.1 contains a heap out-of-bounds read vulnerability that allows attackers to crash applications by supplying a PSID/RSID file with an unchecked data offset. Attackers can set the header data offset beyond the file size, wrapping the le…

  • Medium 6.1

    FreeImage through 3.19.23 Heap Out-of-Bounds Read via PICT Unpack32Bits

    FreeImage (danoli3 fork) through 3.19.23 contains a heap out-of-bounds read vulnerability in Unpack32Bits() in PluginPICT.cpp because rowBytes is never checked against the file-controlled PixMap width. Attackers can supply a crafted PICT file with a truncated…

  • Medium 6.1

    Libyal libesedb through 20260704 Heap Out-of-Bounds Read via libesedb_record_get_multi_value

    Libyal libesedb through 20260704 contains a heap out-of-bounds read vulnerability in libesedb_record_get_multi_value() that allows attackers to read past buffers via unbounded multi-value offset tables. Attackers can supply a crafted ESE/EDB database processe…

  • Medium 6.1

    ytnef through 2.1.2 Heap Out-of-Bounds Read via DecompressRTF

    ytnef through 2.1.2 contains a heap out-of-bounds read vulnerability in DecompressRTF() in lib/ytnef.c that never validates uncompressedSize for uncompressed RTF streams. Attackers can supply a crafted winmail.dat TNEF attachment with a malicious PT_BINARY MA…

  • Medium 6.1

    ytnef through 2.1.2 Heap Out-of-Bounds Read via MAPIPrint in lib/ytnef.c

    ytnef through 2.1.2 contains a heap out-of-bounds read vulnerability in MAPIPrint() that allows attackers to read past heap allocations by supplying compressed RTF properties. Attackers can deliver a crafted winmail.dat whose decompressed RTF lacks a NUL term…

  • Medium 5.5

    Ansilove libansilove through 1.4.2 Out-of-Bounds Read via ansilove_xbin RLE Decoding

    Ansilove libansilove through 1.4.2 contains an out-of-bounds read vulnerability in ansilove_xbin() in src/loaders/xbin.c that lacks bounds checks for compressed run-length records. Attackers can supply a crafted compressed XBIN file ending in a control byte s…

  • Medium 4.7

    zziplib through 0.13.80 Out-of-Bounds Read via __zzip_parse_root_directory ZIP64 Parsing

    zziplib through 0.13.80 contains an out-of-bounds read vulnerability in __zzip_parse_root_directory() in zzip/zip.c that allows attackers to read past the mapped central directory in mmap builds due to an ineffective bounds check. Attackers can supply a craft…

  • Medium 5.5

    Zziplib through 0.13.80 Out-of-Bounds Read via zzip_disk_findfirst

    Zziplib through 0.13.80 contains an out-of-bounds read vulnerability in zzip/mmapped.c that allows attackers to over-read heap memory via a crafted ZIP central directory. Attackers can craft an end-of-central-directory record placing the first entry near the …

  • Medium 6.1

    libregf through 20260526 Heap Out-of-Bounds Read via libregf_value_item_read_value_data

    libregf through 20260526 contains a heap out-of-bounds read in libregf_value_item_read_value_data() because it bounds value data size without subtracting the 4-byte old-format cell offset. Attackers can supply a crafted version 1.0/1.1 REGF hive with a value …

  • Medium 5.5

    NetSurf libnsbmp through 0.1.7 Out-of-Bounds Read in RLE8 and RLE4 Decoders

    NetSurf libnsbmp through 0.1.7 contains an out-of-bounds read vulnerability in bmp_decode_rle8() and bmp_decode_rle4() because absolute-run bound checks omit the word-alignment pad byte. Attackers can supply a crafted RLE8 or RLE4 BMP ending on an odd-length …

  • Medium 5.5

    NetSurf libnsbmp through 0.1.7 Out-of-Bounds Read via bmp_decode_mask

    NetSurf libnsbmp through 0.1.7 contains an out-of-bounds read vulnerability in bmp_decode_mask() that allows attackers to read one byte past the image buffer by supplying crafted ICO files. Attackers can provide an ICO whose inner bitmap width is not a multip…

  • Medium 6.1

    libfwsi through 20260522 Heap Out-of-Bounds Read via libfwsi_mtp_volume_values_read_data

    libfwsi through 20260522 contains a heap out-of-bounds read vulnerability in libfwsi_mtp_volume_values_read_data() that allows attackers to read past buffer bounds via crafted MTP volume shell items. Attackers can embed a 10 to 53 byte shell item with item da…

  • Medium 6.1

    libfwsi through 20260522 Heap Out-of-Bounds Read via libfwsi_mtp_file_entry_values_read_data

    libfwsi through 20260522 contains a heap out-of-bounds read vulnerability in libfwsi_mtp_file_entry_values_read_data() that allows attackers to read past buffer bounds via crafted MTP file entry shell items. Attackers can embed a 10 to 73 byte shell item with…

  • Medium 6.1

    libfsapfs through 20260921 Heap Out-of-Bounds Read via libfsapfs_key_encrypted_key_read_data

    libfsapfs through 20260921 contains an integer underflow in libfsapfs_key_encrypted_key_read_data() that allows attackers to trigger heap out-of-bounds reads via crafted KEK attributes. Attackers can supply a crafted encrypted APFS image with malformed HMAC o…

  • Medium 6.1

    GNOME libgxps through 0.3.2 Heap Out-of-Bounds Read via path_geometry_start_element

    GNOME libgxps through 0.3.2 contains a heap out-of-bounds read in path_geometry_start_element() that allows attackers to read past allocations via crafted PolyBezierSegment or PolyQuadraticBezierSegment Points attributes. Attackers can supply a point count no…

  • Medium 6.1

    libxmp through 4.7.4 Stack Out-of-Bounds Read via P61A Depacker

    libxmp through 4.7.4 contains an off-by-one stack out-of-bounds read vulnerability in the prowizard P61A depacker depack_p61a() in src/loaders/prowizard/p61a.c. Attackers can supply a crafted headerless P61A module with 31 samples and a 0xffe0 back-reference …

  • Medium 6.1

    OpenSlide through 4.0.1 Heap Out-of-Bounds Read via MIRAX get_tile_position

    OpenSlide through 4.0.1 contains a heap out-of-bounds read vulnerability in the MIRAX reader that allows attackers to read past the slide_positions array via crafted Slidedat.ini values. Attackers can supply a MIRAX slide whose CameraImageDivisionsPerSide doe…

  • Medium 6.1

    catdoc through 0.95 Out-of-Bounds Read via xls2csv copy_unicode_string

    catdoc through 0.95 contains an out-of-bounds read vulnerability in copy_unicode_string() in src/xlsparse.c that allows attackers to read past buffers via an unchecked string character count. Attackers can supply a crafted .xls file declaring 0xFFFF two-byte …

  • Medium 6.1

    catdoc through 0.95 Out-of-Bounds Read in xls2csv MULRK Record Handler

    catdoc through 0.95 contains an out-of-bounds read vulnerability in the MULRK record handler of process_item() in src/xlsparse.c that allows attackers to read past the static rec buffer via a crafted end column. Attackers can supply a crafted .xls workbook or…

  • Medium 6.1

    CFITSIO through 4.7.0 Heap Out-of-Bounds Read via HCOMPRESS input_nnybble

    CFITSIO through 4.7.0 contains a heap-based out-of-bounds read vulnerability in the HCOMPRESS tile decoder that allows attackers to read past the compressed tile buffer via input_nnybble in fits_hdecompress.c. Attackers can supply a crafted FITS file with ZCM…

  • Medium 6.1

    CFITSIO through 4.7.0 Heap Out-of-Bounds Read via Negative ZDITHER0 Seed

    CFITSIO through 4.7.0 contains a heap-based out-of-bounds read vulnerability in the imcompress.c unquantize helpers that allows attackers to read memory before the fits_rand_value table via a zero or negative ZDITHER0 seed. Attackers can supply a crafted FITS…

  • Medium 5.5

    AdPlug through 2.4 Heap Out-of-Bounds Read via CdmoLoader::load

    AdPlug through 2.4 contains a heap out-of-bounds read vulnerability in CdmoLoader::load() in src/dmo.cpp that allows attackers to read past a heap allocation by supplying a truncated TwinTeam DMO file. Attackers can supply a 12- or 13-byte file passing dmo_un…

  • Medium 5.5

    AdPlug through 2.4 Out-of-Bounds Read via CxsmPlayer::play_note in XSM Files

    AdPlug through 2.4 contains an out-of-bounds read vulnerability in src/xsm.cpp that allows attackers to read before note_table by supplying a negative note index. Attackers can craft an XSM file with the ofTAZ! signature and a song byte of 0x80 or higher, cau…

  • Medium 6.5

    HPE NonStop SQL/MX EXE - out-of-bounds read vulnerability

    A corrupted file may cause out-of-bounds read in HPE NonStop SQL/MX EXE under certain conditions, potentially leading to information disclosure, process termination, CPU halt, or data corruption.

  • High 7.5

    CVE-2026-101290

    A remote attacker may send a specially crafted network packet that causes the affected application to perform an out-of-bounds memory read due to insufficient validation of packet length. This may result in an application crash and a denial-of-service conditi…

  • High 7.0

    Memory safety bugs in kqueue copy-on-fork implementation

    kqueue_fork_copy_knote() indexed into the child's file descriptor table using a knote's file descriptor number without a bounds check. Because the child's table is copied before knotes are transferred, a concurrent thread in the parent could grow the parent's…

  • Medium 5.7

    HPE NonStop EXPAND - Out-of-Bounds memory read vulnerability

    A security vulnerability in HPE NonStop EXPAND may result in out-of-bounds memory read.

  • Medium 4.7

    HPE NonStop EXPAND - Out-of-Bounds memory read

    A security vulnerability in HPE NonStop EXPAND may result in out-of-bounds memory read.