highCVSS 8.1Vulnerability

CVE-2026-61798

## Summary `io.netty.incubator:netty-incubator-codec-ohttp-hpke-classes-boringssl` exposes raw HPKE private key bytes in string representations and error messages. `BoringSSLAsymmetricCipherKeyPair.toString()` includes the private-key parameter object, and `BoringSSLAsymmetricKeyParameter.toString()` renders the full byte array with `Arrays.toString(bytes)`. Separately, failed native key initialization includes `Arrays.toString(privateKeyBytes)` in the thrown `IllegalArgumentException` message. Applications that log key-pair objects or exceptions can persist private key material in logs. ## Details `codec-ohttp-hpke-classes-boringssl/src/main/java/io/netty/incubator/codec/hpke/boringssl/BoringSSLAsymmetricCipherKeyPair.java` renders private key material through `toString()`: - `BoringSSLAsymmetricCipherKeyPair.toString()` at lines 72-78 concatenates `"privateKey=" + privateKey`. - `privateKey` is a `BoringSSLAsymmetricKeyParameter` created with `isPrivate=true` at lines 26-36. `codec-ohttp-hpke-classes-boringssl/src/main/java/io/netty/incubator/codec/hpke/boringssl/BoringSSLAsymmetricKeyParameter.java` then renders all bytes: - `BoringSSLAsymmetricKeyParameter.toString()` at lines 70-76 returns `"bytes=" + Arrays.toString(bytes)` regardless of whether `isPrivate` is true. A separate error path in `codec-ohttp-hpke-classes-boringssl/src/main/java/io/netty/incubator/codec/hpke/boringssl/BoringSSL.java` also exposes caller-provided private key bytes: - `EVP_HPKE_KEY_init_or_throw(...)` at lines 228-232 throws `IllegalArgumentException("privateKeyBytes does not contain a valid private key: " + Arrays.toString(privateKeyBytes))` when BoringSSL rejects the key. Because Java logging frameworks commonly call `toString()` for structured objects and commonly persist exception messages, these paths can place complete HPKE private key material in logs or telemetry. ## Proof of concept Safe local verification was performed without native BoringSSL by compiling the rel

Properties

ghsa_id
GHSA-2mc4-j865-9q4r
summary
netty-incubator-codec-ohttp: BoringSSL HPKE private key bytes exposed through toString() and exception messages
severity
high
cvss_score
8.1
cve_id
CVE-2026-61798
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
is_ghsa_only
false
ghsa_published
2026-08-20T18:43:17Z
source_url
https://github.com/advisories/GHSA-2mc4-j865-9q4r
ghsa_updated
2026-08-20T18:43:19Z

Related Entities (6)

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (1)

[Software]maven/io.netty.incubator:netty-incubator-codec-ohttp-hpke-classes-boringssl

AFFECTS (1)

[Software]maven/io.netty.incubator:netty-incubator-codec-ohttp-hpke-classes-boringssl

HAS_WEAKNESS (3)

[Weakness]Insertion of Sensitive Information into Log File
[Weakness]Exposure of Sensitive Information to an Unauthorized Actor
[Weakness]Cleartext Storage of Sensitive Information

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-61798 (CVSS 8.1) — Ninja Signal Threat Intelligence | Ninja Signal