{"description":"Trending threats, MITRE ATT\u0026CK coverage, and detection metadata. Fed continuously.","favicon":"https://feed.craftedsignal.io/favicon-32x32.png","feed_url":"https://feed.craftedsignal.io/products/netty-incubator-codec-ohttp-hpke-classes-boringssl/feed.json","home_page_url":"https://feed.craftedsignal.io/","icon":"https://feed.craftedsignal.io/apple-touch-icon.png","items":[{"_cs_actors":[],"_cs_cpes":[],"_cs_cves":[],"_cs_exploited":false,"_cs_has_poc":false,"_cs_poc_references":[],"_cs_products":["netty-incubator-codec-ohttp-hpke-classes-boringssl"],"_cs_severities":["high"],"_cs_tags":[],"_cs_type":"advisory","_cs_vendors":["Netty"],"content_html":"\u003cp\u003eThe library \u003ccode\u003enetty-incubator-codec-ohttp-hpke-classes-boringssl\u003c/code\u003e (up to and including version 0.0.22.Final) contains a critical information exposure vulnerability related to the handling of HPKE private keys. The library's \u003ccode\u003eBoringSSLAsymmetricCipherKeyPair.toString()\u003c/code\u003e and \u003ccode\u003eBoringSSLAsymmetricKeyParameter.toString()\u003c/code\u003e methods explicitly include raw private key byte arrays in their output. Furthermore, the \u003ccode\u003eEVP_HPKE_KEY_init_or_throw\u003c/code\u003e error-handling path in \u003ccode\u003eBoringSSL.java\u003c/code\u003e logs the full byte array of a failed private key initialization within an \u003ccode\u003eIllegalArgumentException\u003c/code\u003e message.\u003c/p\u003e\n\u003cp\u003eBecause Java logging frameworks and APM tools often automatically invoke \u003ccode\u003etoString()\u003c/code\u003e on objects during structured logging or log exception stack traces, this vulnerability can result in the silent persistence of sensitive cryptographic material in plain-text logs or telemetry systems. This exposure significantly impacts the confidentiality of encrypted Oblivious HTTP (OHTTP) traffic and undermines key rotation and incident response efforts. Defenders should prioritize auditing application logs for the presence of these byte arrays and ensure the library is updated to a non-vulnerable version once released.\u003c/p\u003e\n\u003ch2 id=\"attack-chain\"\u003eAttack Chain\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003eApplication initializes an HPKE key pair using the vulnerable \u003ccode\u003enetty-incubator-codec-ohttp-hpke-classes-boringssl\u003c/code\u003e library.\u003c/li\u003e\n\u003cli\u003eThe application performs a cryptographic operation or encounters a malformed key during initialization.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eBoringSSLAsymmetricCipherKeyPair\u003c/code\u003e or \u003ccode\u003eBoringSSLAsymmetricKeyParameter\u003c/code\u003e object is passed to a logging statement (e.g., \u003ccode\u003elogger.debug(\u0026quot;KeyPair: {}\u0026quot;, pair)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eThe logging framework triggers the \u003ccode\u003etoString()\u003c/code\u003e method, which concatenates the raw private key bytes into the log string.\u003c/li\u003e\n\u003cli\u003eAlternatively, the application catches an \u003ccode\u003eIllegalArgumentException\u003c/code\u003e thrown by \u003ccode\u003eEVP_HPKE_KEY_init_or_throw\u003c/code\u003e and logs the exception message.\u003c/li\u003e\n\u003cli\u003eThe raw private key bytes are written to the application's local log file or streamed to centralized log management (SIEM/ELK).\u003c/li\u003e\n\u003cli\u003eUnauthorized users with access to the log repository perform searches or extraction to recover the sensitive private key material.\u003c/li\u003e\n\u003cli\u003eThe adversary uses the recovered key to decrypt intercepted OHTTP traffic or authenticate unauthorized messages.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eSuccessful exploitation leads to the compromise of HPKE private keys, resulting in a total loss of confidentiality for all OHTTP traffic encrypted with those keys. The retention of key material in logs creates a long-term exposure window, as adversaries can recover keys long after they have been rotated in application memory. The number of impacted systems corresponds to all deployments utilizing versions 0.0.22.Final or earlier of the affected library.\u003c/p\u003e\n\u003ch2 id=\"recommendation\"\u003eRecommendation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade \u003ccode\u003enetty-incubator-codec-ohttp-hpke-classes-boringssl\u003c/code\u003e to the latest patched version immediately upon release (CVE-2026-61798).\u003c/li\u003e\n\u003cli\u003eSearch enterprise log management systems for pattern matches resembling the leaked key representation, such as \u003ccode\u003e\u0026quot;bytes=[0-9, ]+\u0026quot;\u003c/code\u003e occurring within \u003ccode\u003eBoringSSLAsymmetricKeyParameter\u003c/code\u003e objects.\u003c/li\u003e\n\u003cli\u003eImplement log redaction patterns in logging configurations (e.g., Log4j/Logback filters) to strip sensitive strings or objects associated with the library.\u003c/li\u003e\n\u003cli\u003eAudit existing logs for high-risk assets to identify if private key material has been exposed historically.\u003c/li\u003e\n\u003cli\u003eApply the mitigation of redacting \u003ccode\u003etoString()\u003c/code\u003e outputs in custom wrappers if updating the library is delayed.\u003c/li\u003e\n\u003c/ul\u003e\n","date_modified":"2026-08-20T19:12:50Z","date_published":"2026-08-20T19:12:50Z","id":"https://feed.craftedsignal.io/briefs/2026-08-netty-hpke-exposure/","summary":"The netty-incubator-codec-ohttp-hpke-classes-boringssl library exposes raw HPKE private key bytes in its toString() methods and exception messages, potentially leading to hardcoded key material in application logs.","title":"Information Exposure of HPKE Private Keys in Netty Incubator","url":"https://feed.craftedsignal.io/briefs/2026-08-netty-hpke-exposure/"}],"language":"en","title":"CraftedSignal Threat Feed - Netty-Incubator-Codec-Ohttp-Hpke-Classes-Boringssl","version":"https://jsonfeed.org/version/1.1"}