Vulnerability · Published Sep 23, 2026 · Assigned by GitHub_M
CVE-2026-61695Wire Swift runtime: negative LENGTH_DELIMITED length in skipGroup() crashes any protobuf-decoding service
High 7.5
In plain English
A high-severity security flaw in wire from square. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 53% of all known vulnerabilities).
Official 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.
Affected products (as reported)
Weakness: CWE-129 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/square/wire/security/advisories/GHSA-86wm-r4c5-2rc9 x_refsource_CONFIRM
- https://github.com/square/wire/pull/3616 x_refsource_MISC
- https://github.com/square/wire/commit/24043b6b3a5e5974a978f2745b76d50b31407c1c x_refsource_MISC
- https://github.com/square/wire/commit/81ff7f24a6795d9a8be2e03f272b2d979a5d2c7e x_refsource_MISC
- https://github.com/square/wire/releases/tag/6.4.1 x_refsource_MISC
- https://github.com/square/wire/releases/tag/7.0.0-alpha04 x_refsource_MISC