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.1 High severity

    bacnet-stack: Improper Validation of Array Index

    CVE-2026-52786Bacnet-stack

    BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to versions 1.4.5, 1.5.1, and 1.6.0, in the official apps/epics client tool on v1.6.0-rc1 (not in the generic BACnet RPM ACK decoder alone) a malicious BACnet/IP endpoint

  • 8.2 High severity

    BACnet Stack is a BACnet open source protocol stack C library for embedded systems.

    CVE-2026-47258Bacnet-stack

    BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to versions 1.4.4, 1.5.1, and 1.6.0, a stack-based out-of-bounds write exists in the Notification Class object implementation when handling AddListElement for the recipie

  • 8.2 High severity

    freeswitch: Improper Validation of Array Index

    CVE-2026-116783Signalwire

    FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a software implementation that runs on any commodity hardware. Prior to 1.11.2, udptl_rx_packet() used a peer-controlled FEC entry count dir

  • 7.5 High severity

    VRPN: Improper Validation of Array Index

    CVE-2026-123200VRPN

    VRPN through 07.36 contains an out-of-bounds stack write vulnerability in vrpn_Endpoint::handle_sender_message() and handle_type_message() that allows unauthenticated remote peers to write outside a stack buffer via an unchecked length index. Attackers can con

  • 8.1 High severity

    asn1scc: Improper Validation of Array Index

    CVE-2026-75614Esa

    ASN1SCC is an open source ASN.1 compiler for embedded systems. Prior to 4.7.0.1, BitStream_DecodeConstraintWholeNumber in asn1crt/asn1crt_encoding.c reads enough bits for a constrained integer but does not reject values above the declared range when the encode

  • 7.5 High severity

    psqlODBC: Improper Validation of Array Index

    CVE-2026-120064PostgreSQL

    Several psqlODBC entry points use an application-supplied column number or row index as an array index without validating it. SQLBindCol with a column number above 32767 wraps the binding count negative and a later copy runs off the array. A negative SQL_DESC_

  • 7.2 High severity

    Fireware OS: Out-of-bounds Read

    CVE-2026-93862WatchGuard

    An out-of-bounds read vulnerability in the FireCluster Sync processing allows an attacker positioned on the cluster interconnect, such as a compromised cluster peer or an on-path network attacker, to repeatedly crash the firewall's cluster synchronization proc

  • 7.8 High severity

    llama.cpp: Improper Validation of Array Index

    CVE-2026-116816Ggml-org

    llama.cpp b5899 before b10261 contains a heap out-of-bounds write vulnerability in llm_tokenizer_plamo2::build that allows attackers to corrupt heap memory via crafted GGUF models. Attackers can supply BYTE-typed token text like <0x-1> whose negative parsed va

  • 8.2 High severity

    llama.cpp: Improper Validation of Array Index

    CVE-2024-58400Ggml-org

    llama.cpp before b3701 contains an out-of-bounds read vulnerability in llama_decode_internal and llama_encode_internal that allows remote unauthenticated attackers to read memory by supplying unvalidated token IDs. Attackers can send integer-array prompts to t

  • 7.1 High severity

    SOEM: Out-of-bounds Read

    CVE-2026-82947RT-Labs AB

    SOEM version 2.0.0 and earlier contains multiple vulnerabilities in frame processing where a malicious device can cause the master to read data outside allocated buffers. The software uses length and offset values from device messages without validating them a

  • 7.1 High severity

    PEAK-System Device Driver Setup: Improper Validation of Array Index

    CVE-2026-103672HMS Networks

    The PEAK-System PCAN parser indexes a length table using attacker-controlled DLC without enforcing DLC <= 0x0f, then copies attacker payload from record+0x1c into a fixed-size stack destination.

  • 7.5 High severity

    libiec61850: Improper Validation of Array Index

    CVE-2026-48741MZ Automation

    libIEC61850 is an open-source implementation of IEC 61850 client and server protocols including MMS, GOOSE, Sampled Values, and R-Session. Prior to 1.6.2, alternateArrayAccess in src/mms/iso_mms/server/mms_read_service.c does not validate an alternate-access s

  • 9.3 Critical severity

    fprime: Improper Validation of Array Index

    CVE-2026-92152Nasa

    F´ (F Prime) is a framework that enables development and deployment of spaceflight and other embedded software applications. From 4.1.0 until 4.2.0, Svc::GenericHub output-port dispatch is vulnerable because the deserialized port field is passed to serialOut_o

  • 7.5 High severity

    excelize: Improper Validation of Array Index

    CVE-2026-107217Qax-os

    Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.0.0 to 2.11.0 in github.com/xuri/excelize/v2 and from 1.1.0 to 1.4.1 in github.com/xuri/excelize, ColumnNameToNumber accumulates a bijective base-26 value in int64 w

  • 7.8 High severity

    GeForce: Improper Validation of Array Index

    CVE-2026-47507NVIDIA

    NVIDIA GPU Display Driver for Windows and Linux contains a vulnerability in the kernel mode layer, where a user could cause an out-of-bounds array access. A successful exploit of this vulnerability might lead to code execution, denial of service, escalation of

  • 8.5 High severity

    Apache PLC4X: Improper Validation of Array Index

    CVE-2026-102511Apache

    Improper Verification of Source of a Communication Channel in the ADS discovery of the Go implementation of Apache PLC4X (PLC4Go) allows an attacker able to send UDP datagrams to the discovering host to redirect subsequent connections to an arbitrary, attacker

  • 8.7 High severity

    Apache PLC4X: Improper Validation of Array Index

    CVE-2026-102510Apache

    Integer Overflow, Improper Validation of Array Index, Uncontrolled Recursion and Memory Allocation with Excessive Size Value in the Go implementation of Apache PLC4X (PLC4Go) allow a malicious device, or an attacker able to inject network traffic, to crash or

  • 7.5 High severity

    wire: Improper Validation of Array Index

    CVE-2026-61695Square

    Wire provides gRPC and protocol buffers for Android, Kotlin, Swift, and Java. Prior to 6.4.1 and 7.0.0-alpha04, Wire's Swift runtime ProtoReader.skipGroup(expectedEndTag:unknownFieldsWriter:) accepts a negative length for a LENGTH_DELIMITED field inside an unk

  • 8.7 High severity

    temporalio/tchannel-go: Improper Validation of Array Index

    CVE-2026-65653Temporal Technologies

    github.com/temporalio/tchannel-go did not reject TChannel call fragments containing checksum metadata but no length-prefixed argument chunks. The fragment reader left its chunk slice empty and then unconditionally selected the first element. A network peer can

  • 8.7 High severity

    temporalio/tchannel-go: Improper Validation of Array Index

    CVE-2026-65652Temporal Technologies

    github.com/temporalio/tchannel-go did not validate the one-byte checksum-type field in inbound TChannel call frames. A network peer that can reach a listener can complete the standard initialization handshake and send a call request with an unsupported checksu

  • 8.7 High severity

    temporalio/sqlparser: Improper Validation of Array Index

    CVE-2026-16651Temporal Technologies

    temporalio/sqlparser can panic when Parse, ParseStrictDDL, or ParseNext processes a MySQL version comment whose contents are empty or consist only of one to five decimal digits. ExtractMysqlComment does not check the -1 result returned by strings.IndexFunc bef

  • 7.5 High severity

    vllm: Improper Validation of Array Index

    CVE-2026-93592Vllm-project

    vLLM versions before 0.28.0 fail to validate the lower bound of token IDs in the /v1/embeddings and /pooling endpoints, allowing unauthenticated attackers to crash the engine by submitting negative token IDs. A single request with a negative token ID triggers

  • 9.8 Critical severity

    HP Linux Imaging and Printing Software (HPLIP): Improper Validation of Array Index

    CVE-2026-91101HP

    HP has identified and remediated multiple externally reported vulnerabilities within HPLIP. The findings affect several software components that could potentially enable remote code execution, privilege escalation, denial of service, information disclosure, or

  • 9.8 Critical severity

    resdata: Buffer Copy without Checking Size of Input

    CVE-2026-55209Equinor

    resdata is software for reading and writing result files from the Eclipse reservoir simulator. Prior to 6.2.9, resdata insufficiently validates numeric fields, grid dimensions, keyword sizes, and array indexes while parsing untrusted GRDECL files in lib/resdat

  • 8.7 High severity

    grpc-go: Improper Validation of Array Index

    CVE-2026-84445Grpc

    gRPC-Go is the Go language implementation of gRPC. Prior to 1.82.2 and 1.83.2, servers created with xds.NewGRPCServer() allow internal/transport/http2_server.go to accept an RPC containing neither the :authority header nor the Host header, while RouteAndProces

  • 7.8 High severity

    tesseract: Improper Validation of Array Index

    CVE-2026-88052Tesseract-ocr

    Tesseract is an open source OCR engine. In version 5.5.3 and earlier, UNICHARSET::load_via_fgets in src/ccutil/unicharset.cpp trusts the declared unichar count as a loop bound and uses id as an unchecked index into the unichars vector. unichar_insert_backwards

  • 9.6 Critical severity

    Chrome: Improper Validation of Array Index

    CVE-2026-87500Google

    Improper validation of array index in ANGLE in Google Chrome prior to 153.0.8010.36 allowed a remote attacker to potentially execute arbitrary code outside the sandbox via a crafted HTML page. (Chromium security severity: High)

  • 8.7 High severity

    libpcap: Out-of-bounds Read

    CVE-2026-0799The Tcpdump Group

    In BPF instructions that load/store a value from/to a scratch memory register the register index is an unsigned 32-bit integer and must not exceed 15, but libpcap BPF interpreter does not validate the value. In particular uncommon use cases a crafted filter pr

  • 7.5 High severity

    pjproject: Improper Validation of Array Index

    CVE-2026-57159Pjsip

    PJSIP is a free and open source multimedia communication library written in C. Prior to commit 673b978, a remote out-of-bounds read and write can occur in the SDP negotiator when the remote payload-type map maintenance feature is enabled. assign_pt_and_update_

  • 9.3 Critical severity

    Fireware OS: Stack-based Buffer Overflow

    CVE-2026-19318WatchGuard

    A stack-based buffer overflow vulnerability in the WatchGuard Fireware OS iked process allows a remote unauthenticated attacker to execute arbitrary code by sending specially crafted network traffic.

  • 8.8 High severity

    zephyr: Improper Validation of Array Index

    CVE-2026-13212Zephyr Project

    The Zephyr virtio driver does not validate the descriptor-chain head id that the virtio device writes into the used ring. In virtio_isr() (drivers/virtio/virtio_common.c), the device-written vq->used->ring[idx].id is used directly as an index into vq->recv_cbs

  • 8.2 High severity

    deskflow: Out-of-bounds Read

    CVE-2026-65832Deskflow

    Deskflow is a keyboard and mouse sharing app. Prior to continuous build 1.26.0.299, a remote unauthenticated Deskflow server can send kMsgDSetOptions (DSOP) values to ServerProxy::setOptions() in src/lib/client/ServerProxy.cpp so that the value following a mod

  • 8.7 High severity

    frp: Improper Validation of Array Index

    CVE-2026-73564Fatedier

    frp is a fast reverse proxy. From 0.53.0 until 0.70.1, frp's optional SSH Tunnel Gateway in pkg/ssh/server.go parses an SSH exec channel request by adding 4 to an attacker-controlled four-byte big-endian length. A length of 0xFFFFFFFF makes the uint32 addition

  • 7.1 High severity

    timescaledb: Out-of-bounds Read

    CVE-2026-70635Timescale

    TimescaleDB through 2.29.1, fixed in commit 517c13e, contains an out-of-bounds read vulnerability that allows authenticated attackers to cause query-result integrity failures or backend crashes by supplying a crafted Simple8b selector-11 value, which is stored

  • 8.1 High severity

    timescaledb: Out-of-bounds Read

    CVE-2026-70634Timescale

    TimescaleDB through 2.29.1, fixed in commit 517c13e, contains an out-of-bounds read in the Dictionary compression reverse row iterator (tsl/src/compression/algorithms/dictionary.c). The forward path validates the decoded index; the reverse path uses an asserti

  • 7.5 High severity

    wings: Improper Validation of Array Index

    CVE-2026-52856Pterodactyl

    Wings is the server control plane for Pterodactyl, a free, open-source game server management panel. Prior to 1.13.0, a malformed packet received during the SFTP connection handshake causes a Go panic. This issue is fixed in version 1.13.0.

  • 7.0 High severity

    Linux: Improper Validation of Array Index

    CVE-2026-64460Linux

    In the Linux kernel, the following vulnerability has been resolved: PCI/IOV: Skip VF Resizable BAR restore on read error sriov_restore_vf_rebar_state() uses the VF Resizable BAR Control register to decide how many VF BARs to restore (nbars) and which VF BAR ea

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2026-64330Linux

    In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: Validate SVID index in svdm_consume_modes() In svdm_consume_modes(), the SVID value is read from pmdata->svids using pmdata->svid_index as an array index without bounds valid

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2026-64324Linux

    In the Linux kernel, the following vulnerability has been resolved: udf: validate free block extents against the partition length udf_free_blocks() checks the logical block number and count against the partition length, but drops the extent offset from that fi

  • 7.8 High severity

    Linux: Improper Validation of Array Index

    CVE-2026-64273Linux

    In the Linux kernel, the following vulnerability has been resolved: Input: iforce - bound the device-reported force-feedback effect index iforce_process_packet() handles a status report (packet id 0x02) by taking a force-feedback effect index straight from the