CVE-2026-102360: lib0 `readUint8Array` performs an unbounded read past the end of the decoder’s view, disclosing adjacent process memory

Published Sep 29, 2026
·
Updated

A missing bounds check in the binary decoder in lib0, versions 0.2.1-0.2.117 and earlier and 1.0.0-rc.32 and earlier, lets any unauthenticated remote peer read adjacent process memory and receive it back. readUint8Array never compares the wire-supplied length against the decoder's own view, so one over-long length prefix returns whatever the host process allocated next: other tenants' document content, personal data, and live bearer session tokens, recovered in full and at will. An attacker who can supply bytes to a lib0 decoder which means any peer that can open a socket, including before authentication reads adjacent process memory and, where the consumer echoes, stores or re-serves the decoded value, receives it back. This is patched in version 0.2.118 and 1.0.0-rc.33.

Affected Software

1 affected component
npm/lib0<=0.2.117, <=1.0.0-rc.32

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade lib0 to a version that resolves this vulnerability.

    Fixed in 0.2.118
  2. Upgrade

    Upgrade lib0 to a version that resolves this vulnerability.

    Fixed in 1.0.0-rc.33

Event History

Sep 29, 2026
CVE Published
via MITRE·01:11 PM
Data Sourced
via MITRE·01:11 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to unauthenticated exploitation?

Any deployment where a remote peer can supply bytes to a lib0 decoder is exposed, including peers that can open a socket before authentication. The vulnerable decoder can return adjacent process memory when it processes an over-long length prefix.

2

Which versions should be upgraded?

Upgrade lib0 to 0.2.118 or later on the 0.2.x line, or to 1.0.0-rc.33 or later on the 1.0.0 release-candidate line. Versions 0.2.1 through 0.2.117 and earlier, and 1.0.0-rc.32 and earlier, are affected.

3

What must happen for leaked memory to reach an attacker?

The attacker must be able to send a crafted binary value with a length larger than the decoder view. The decoded value must then be echoed, stored, or re-served by the consuming application for the attacker to receive the out-of-bounds data.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203