CVE-2026-61695
Received Received - Intake

Heap Overflow in Wire Swift Protobuf Runtime

Vulnerability report for CVE-2026-61695, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-23

Last updated on: 2026-09-23

Assigner: GitHub, Inc.

Description

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 unknown START_GROUP field. ProtoReader.readData() forwards the negative count to ReadBuffer.readData(count:), whose upper-bound-only check permits the value to reach Foundation Data(bytes:count:) and trigger an unrecoverable process trap instead of a catchable ProtoDecoder.Error. Any Swift process decoding untrusted protobuf bytes can be crashed without authentication, user interaction, or knowledge of the target schema. This issue is fixed in versions 6.4.1 and 7.0.0-alpha04.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-23
Last Modified
2026-09-23
Generated
2026-09-24
AI Q&A
2026-09-23
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
wire proto_reader to 7.0.0-alpha04 (inc)
square wire 6.4.1
square wire 7.0.0-alpha04

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
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.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Wire's Swift runtime for protobuf decoding. A negative length value in a LENGTH_DELIMITED field inside an unknown START_GROUP field can cause a process crash. The issue occurs because the runtime fails to validate negative lengths, allowing malicious protobuf data to trigger an unrecoverable trap in Foundation's Data(bytes:count:) function.

Detection Guidance

This vulnerability can be detected by checking the version of the Wire library in use. If your application uses Wire's Swift runtime and is running versions 6.4.0 or earlier, or 7.0.0-alpha03 or earlier, it is vulnerable. Commands to check the version depend on your package manager or build system.

Impact Analysis

Any Swift application decoding untrusted protobuf data is affected. A malicious payload can crash the process without authentication or user interaction. This leads to denial of service for services processing protobuf data, including iOS, macOS, or server-side applications.

Mitigation Strategies

Immediately upgrade to Wire versions 6.4.1 or 7.0.0-alpha04 or later. These versions include the fix that adds negative-length checks in the ProtoReader and ReadBuffer components to prevent crashes from malformed input.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-61695. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart