CyberSecBulletin

Improper Validation of Array Index

CWE-129

The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array.

We track 265 vulnerabilities of this type. 100% are rated high or critical, and the average CVSS score is 8.0. 1 has been exploited in real attacks.

How this weakness is prevented

  • Architecture and Design: Use an input validation framework such as Struts or the OWASP ESAPI Validation API. Note that using a framework does not automatically address all input validation problems; be mindful of weaknesses that could arise from misusing the framework itself (CWE-1173).
  • Requirements: Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. For example, Ada allows the programmer to constrain the values of a variable and languages such as Java and Ruby will allow the programmer to handle exceptions when an out-of-bounds index is accessed.
  • Operation: Use a CPU and operating system that offers Data Execution Protection (using hardware NX or XD bits) or the equivalent techniques that simulate this feature in software, such as PaX. These techniques ensure that any instruction executed is exclusively at a memory address that is part of the code segment. For more information on these techniques see D3-PSEP (Process Segment Execution Prevention) from D3FEND.
  • Implementation: Be especially careful to validate all input when invoking code that crosses language boundaries, such as from an interpreted language to native code. This could create an unexpected interaction between the language boundaries. Ensure that you are not violating any of the expectations of the language with which you are interfacing. For example, even though Java may not be susceptible to buffer overflows, providing a large argument in a call to native code might trigger an overflow.
  • Architecture and Design Operation: Run your code using the lowest privileges that are required to accomplish the necessary tasks. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database administrator, especially in day-to-day operations.

Latest Improper Validation of Array Index vulnerabilities

  • 7.5 High severity

    oneflow: Improper Validation of Array Index

    CVE-2024-36740Oneflow

    An issue in OneFlow-Inc. Oneflow v0.9.1 allows attackers to cause a Denial of Service (DoS) when index as a negative number exceeds the range of size.

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2024-36921Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: guard against invalid STA ID on removal Guard against invalid station IDs in iwl_mvm_mld_rm_sta_id as that would result in out-of-bounds array accesses. This prevents issue

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2024-36015Linux

    In the Linux kernel, the following vulnerability has been resolved: ppdev: Add an error check in register_device In register_device, the return value of ida_simple_get is unchecked, in witch ida_simple_get will use an invalid index value. To address this issue

  • 7.8 High severity

    libigl: Out-of-bounds Write

    CVE-2024-22181Libigl

    An out-of-bounds write vulnerability exists in the readNODE functionality of libigl v2.5.0. A specially crafted .node file can lead to an out-of-bounds write. An attacker can provide a malicious file to trigger this vulnerability.

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52835Linux

    In the Linux kernel, the following vulnerability has been resolved: perf/core: Bail out early if the request AUX area is out of bound When perf-record with a large AUX area, e.g 4GB, it fails with: #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1 failed to m

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52818Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 For pptable structs that use flexible array sizes, use flexible arrays.

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52812Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/amd: check num of link levels when update pcie param In SR-IOV environment, the value of pcie_table->num_of_link_levels will be 0, and num_of_levels - 1 will cause array index out of bound

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52807Linux

    In the Linux kernel, the following vulnerability has been resolved: net: hns3: fix out-of-bounds access may occur when coalesce info is read via debugfs The hns3 driver define an array of string to show the coalesce info, but if the kernel adds a new mode or a

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52805Linux

    In the Linux kernel, the following vulnerability has been resolved: jfs: fix array-index-out-of-bounds in diAlloc Currently there is not check against the agno of the iag while allocating new inodes to avoid fragmentation problem. Added the check which is requ

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52804Linux

    In the Linux kernel, the following vulnerability has been resolved: fs/jfs: Add validity check for db_maxag and db_agpref Both db_maxag and db_agpref are used as the index of the db_agfree array, but there is currently no validity check for db_maxag and db_agp

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52799Linux

    In the Linux kernel, the following vulnerability has been resolved: jfs: fix array-index-out-of-bounds in dbFindLeaf Currently while searching for dmtree_t for sufficient free blocks there is an array out of bounds while getting element in tp->dm_stree. To add

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52768Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: wilc1000: use vmm_table as array in wilc struct Enabling KASAN and running some iperf tests raises some memory issues with vmm_table: BUG: KASAN: slab-out-of-bounds in wilc_wlan_handle_t

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2024-35905Linux

    In the Linux kernel, the following vulnerability has been resolved: bpf: Protect against int overflow for stack access size This patch re-introduces protection against the size of access to stack memory being negative; the access size can appear negative as a

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2022-48702Linux

    In the Linux kernel, the following vulnerability has been resolved: ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc() The voice allocator sometimes begins allocating from near the end of the array and then wraps around, however snd_emu

  • 7.8 High severity

    WinRAR: Improper Validation of Array Index

    CVE-2023-40477RarlabEPSS 10%

    RARLAB WinRAR Recovery Volume Improper Validation of Array Index Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of RARLAB WinRAR. User interaction is required to exploit this

  • 8.0 High severity

    BlueZ: Improper Validation of Array Index

    CVE-2023-27349BlueZEPSS 1.43%

    BlueZ Audio Profile AVRCP Improper Validation of Array Index Remote Code Execution Vulnerability. This vulnerability allows network-adjacent attackers to execute arbitrary code via Bluetooth on affected installations of BlueZ. User interaction is required to e

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52649Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/vkms: Avoid reading beyond LUT array When the floor LUT index (drm_fixp2int(lut_index) is the last index of the array the ceil LUT index will point to an entry beyond the array. Make sure

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2024-26981Linux

    In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix OOB in nilfs_set_de_type The size of the nilfs_type_by_mode array in the fs/nilfs2/dir.c file is defined as "S_IFMT >> S_SHIFT", but the nilfs_set_de_type() function, which uses th

  • 7.5 High severity

    onos: Improper Validation of Array Index

    CVE-2024-34050Onosproject

    Open Networking Foundation SD-RAN Rimedo rimedo-ts 0.1.1 has a slice bounds out-of-range panic in "return uint64(b[2])<<16 | uint64(b[1])<<8 | uint64(b[0])" in reader.go.

  • 9.8 Critical severity

    ffmpeg: Improper Validation of Array Index

    CVE-2024-31581FFmpegEPSS 1.11%

    FFmpeg version n6.1 was discovered to contain an improper validation of array index vulnerability in libavcodec/cbs_h266_syntax_template.c. This vulnerability allows attackers to cause undefined behavior within the application.

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2024-26914Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: fix incorrect mpc_combine array size [why] MAX_SURFACES is per stream, while MAX_PLANES is per asic. The mpc_combine is an array that records all the planes per asic. Therefor

  • 7.5 High severity

    apfloat: Improper Validation of Array Index

    CVE-2024-23084Apfloat

    Apfloat v1.10.1 was discovered to contain an ArrayIndexOutOfBoundsException via the component org.apfloat.internal.DoubleCRTMath::add(double[], double[]). NOTE: this is disputed by multiple third parties who believe there was not reasonable evidence to determi

  • 7.1 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52640Linux

    In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: Fix oob in ntfs_listxattr The length of name cannot exceed the space occupied by ea.

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2024-26699Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix array-index-out-of-bounds in dcn35_clkmgr [Why] There is a potential memory access violation while iterating through array of dcn35 clks. [How] Limit iteration per array s

  • 7.8 High severity

    ThreadX: Improper Validation of Array Index

    CVE-2024-2214Eclipse Foundation

    In Eclipse ThreadX before version 6.4.0, the _Mtxinit() function in the Xtensa port was missing an array size check causing a memory overwrite. The affected file was ports/xtensa/xcc/src/tx_clib_lock.c

  • 9.1 Critical severity

    wolfSSL: Improper Validation of Array Index

    CVE-2024-0901wolfSSL

    Remotely executed SEGV and out of bounds read allows malicious packet sender to crash or cause an out of bounds read via sending a malformed packet with the correct length.

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52604Linux

    In the Linux kernel, the following vulnerability has been resolved: FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree Syzkaller reported the following issue: UBSAN: array-index-out-of-bounds in fs/jfs/jfs_dmap.c:2867:6 index 196694 is out of range for type '

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52603Linux

    In the Linux kernel, the following vulnerability has been resolved: UBSAN: array-index-out-of-bounds in dtSplitRoot Syzkaller reported the following issue: oop0: detected capacity change from 0 to 32768 UBSAN: array-index-out-of-bounds in fs/jfs/jfs_dtree.c:19

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52601Linux

    In the Linux kernel, the following vulnerability has been resolved: jfs: fix array-index-out-of-bounds in dbAdjTree Currently there is a bound check missing in the dbAdjTree while accessing the dmt_stree. To add the required check added the bool is_ctl which i

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52599Linux

    In the Linux kernel, the following vulnerability has been resolved: jfs: fix array-index-out-of-bounds in diNewExt [Syz report] UBSAN: array-index-out-of-bounds in fs/jfs/jfs_imap.c:2360:2 index -878706688 is out of range for type 'struct iagctl[128]' CPU: 1 P

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52594Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus() Fix an array-index-out-of-bounds read in ath9k_htc_txstatus(). The bug occurs when txs->cnt, data from a URB p

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2023-52451Linux

    In the Linux kernel, the following vulnerability has been resolved: powerpc/pseries/memhp: Fix access beyond end of drmem array dlpar_memory_remove_by_index() may access beyond the bounds of the drmem lmb array when the LMB lookup fails to match an entry with

  • 9.8 Critical severity

    vyper: Improper Validation of Array Index

    CVE-2024-24563VyperlangEPSS 1.54%

    Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. Arrays can be keyed by a signed integer, while they are defined for unsigned integers only. The typechecker doesn't throw when spotting the usage of an `int` as an index for an array

  • 7.8 High severity

    GTKWave: Improper Validation of Array Index

    CVE-2023-39235GTKWave

    Multiple out-of-bounds write vulnerabilities exist in the VZT vzt_rd_process_block autosort functionality of GTKWave 3.3.115. A specially crafted .vzt file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger these vuln

  • 7.8 High severity

    GTKWave: Improper Validation of Array Index

    CVE-2023-39234GTKWave

    Multiple out-of-bounds write vulnerabilities exist in the VZT vzt_rd_process_block autosort functionality of GTKWave 3.3.115. A specially crafted .vzt file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger these vuln

  • 7.8 High severity

    GTKWave: Improper Validation of Array Index

    CVE-2023-35997GTKWave

    Multiple improper array index validation vulnerabilities exist in the fstReaderIterBlocks2 tdelta functionality of GTKWave 3.3.115. A specially crafted .fst file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger thes

  • 7.8 High severity

    GTKWave: Improper Validation of Array Index

    CVE-2023-35996GTKWave

    Multiple improper array index validation vulnerabilities exist in the fstReaderIterBlocks2 tdelta functionality of GTKWave 3.3.115. A specially crafted .fst file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger thes

  • 7.8 High severity

    GTKWave: Improper Validation of Array Index

    CVE-2023-35995GTKWave

    Multiple improper array index validation vulnerabilities exist in the fstReaderIterBlocks2 tdelta functionality of GTKWave 3.3.115. A specially crafted .fst file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger thes

  • 7.8 High severity

    GTKWave: Improper Validation of Array Index

    CVE-2023-35994GTKWave

    Multiple improper array index validation vulnerabilities exist in the fstReaderIterBlocks2 tdelta functionality of GTKWave 3.3.115. A specially crafted .fst file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger thes

  • 7.5 High severity

    squid: Improper Certificate Validation

    CVE-2023-46724Squid-cacheEPSS 2.81%

    Squid is a caching proxy for the Web. Due to an Improper Validation of Specified Index bug, Squid versions 3.3.0.1 through 5.9 and 6.0 prior to 6.4 compiled using `--with-openssl` are vulnerable to a Denial of Service attack against SSL Certificate validation.