Read the docs
TI-2026-45064 Aliases CVE-2026-63126GHSA-9rm7-3qhh-h2mc

Integer overflow in square wire

Priority HIGH 72CWE-190Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-190 and the CVSS impact.

Summary

Wire provides gRPC and protocol buffers for Android, Kotlin, Swift, and Java. Prior to 6.4.5 and 7.0.0-alpha04, Wire protobuf readers do not consistently validate attacker-controlled lengths against the current logical message boundary before advancing cursors, pointers, limits, slices, or allocations. In Kotlin, ProtoAdapter.decode(ByteArray) and ProtoAdapter.decode(ByteString) use ByteArrayProtoReader32.internalNextLengthDelimited(), where a positive oversized length can wrap pos + length to a negative limit and escape the existing negative-length check. Related ProtoReader, ReadBuffer.readVarint(), ReadBuffer.verifyAdditional(count:), packed-repeated, nested-message, and ProtoDecoder.decodeSizeDelimited(_:from:) paths can cross logical boundaries, perform pointer arithmetic, reserve capacity, or convert an unrepresentable size before proving the requested bytes exist. An attacker who supplies malformed protobuf bytes can cause unchecked exceptions, traps, out-of-bounds behavior, or excessive allocation, resulting in denial of service without known confidentiality, integrity, or code-execution impact. This issue is fixed in versions 6.4.5 and 7.0.0-alpha04.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00823 57th percentileScored 2026-11-07
Fix Fixed wire (square): 6.4.5, 7.0.0-alpha04com.squareup.wire:wire-runtime (Maven): 6.4.5, 7.0.0-alpha04

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
squarewirebefore 6.4.5; 7.0.0-alpha01 to before 7.0.0-alpha046.4.5, 7.0.0-alpha04Patch availableCNA
—com.squareup.wire:wire-runtime (Maven)before 6.4.56.4.5Patch availableGHSA-9rm7-3qhh-h2mc
—com.squareup.wire:wire-runtime (Maven)7.0.0-alpha01 to before 7.0.0-alpha047.0.0-alpha04Patch availableGHSA-9rm7-3qhh-h2mc
  • wire Vendorsquare Affected before 6.4.5; 7.0.0-alpha01 to before 7.0.0-alpha04 Fixed in 6.4.5, 7.0.0-alpha04 Patch available CNA
  • com.squareup.wire:wire-runtime (Maven) Vendor— Affected before 6.4.5 Fixed in 6.4.5 Patch available GHSA-9rm7-3qhh-h2mc
  • com.squareup.wire:wire-runtime (Maven) Vendor— Affected 7.0.0-alpha01 to before 7.0.0-alpha04 Fixed in 7.0.0-alpha04 Patch available GHSA-9rm7-3qhh-h2mc

Remediation

  • Fix · CNA wire (square) Fixed in 6.4.5, 7.0.0-alpha04
  • Fix · GHSA-9rm7-3qhh-h2mc com.squareup.wire:wire-runtime (Maven) Fixed in 6.4.5 Advisory →
  • Fix · GHSA-9rm7-3qhh-h2mc com.squareup.wire:wire-runtime (Maven) Fixed in 7.0.0-alpha04 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-63126
  2. 2026-10-03 Alias added: GHSA-9rm7-3qhh-h2mc

References

  • TI-2026-44167 Wire Swift runtime: negative LENGTH_DELIMITED length in skipGroup() crashes any protobuf-decoding service CVSS 3.1HIGH 7.5
  • TI-2026-71027 Insecure YAML deserialization in Square Squash symbolication API CVSS 4.0CRITICAL 9.2
  • TI-2024-38317 Uncontrolled recursion in square Wire CVSS 3.1MEDIUM 5.8

Sources