{
  "cveId": "CVE-2021-21295",
  "url": "https://patchblox.com/security/cve/CVE-2021-21295",
  "summary": "CVE-2021-21295 is fixed in 2 products on 1 platform, first by RLSA-2022:5498, released July 5, 2022. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "libnetty-java: Netty is an open-source, asynchronous event-driven network applicationframework for rapid development of maintainable...",
  "description": "Netty is an open-source, asynchronous event-driven network applicationframework for rapid development of maintainable high performance protocolservers \u0026 clients. In Netty (io.netty:netty-codec-http2) before version4.1.60.Final there is a vulnerability that enables request smuggling. If aContent-Length header is present in the original HTTP/2 request, the fieldis not validated by \u0060Http2MultiplexHandler\u0060 as it is propagated up. This isfine as long as the request is not proxied through as HTTP/1.1. If therequest comes in as an HTTP/2 stream, gets converted into the HTTP/1.1domain objects (\u0060HttpRequest\u0060, \u0060HttpContent\u0060, etc.) via\u0060Http2StreamFrameToHttpObjectCodec \u0060and then sent up to the child channel\u0027spipeline and proxied through a remote peer as HTTP/1.1 this may result inrequest smuggling. In a proxy case, users may assume the content-length isvalidated somehow, which is not the case. If the request is forwarded to abackend channel that is a HTTP/1.1 connection, the Content-Length now hasmeaning and needs to be checked. An attacker can smuggle requests insidethe body as it gets downgraded from HTTP/2 to HTTP/1.1. For an exampleattack refer to the linked GitHub Advisory. Users are only affected if allof this is true: \u0060HTTP2MultiplexCodec\u0060 or \u0060Http2FrameCodec\u0060 is used,\u0060Http2StreamFrameToHttpObjectCodec\u0060 is used to convert to HTTP/1.1 objects,and these HTTP/1.1 objects are forwarded to another remote peer. This hasbeen patched in 4.1.60.Final As a workaround, the user can do thevalidation by themselves by implementing a custom \u0060ChannelInboundHandler\u0060that is put in the \u0060ChannelPipeline\u0060 behind\u0060Http2StreamFrameToHttpObjectCodec\u0060.",
  "published": "2021-03-09T11:15:00Z",
  "severity": "Medium",
  "epss": 0.18891,
  "epssPercentile": 0.97312,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "libdb",
      "release": "rocky 8",
      "fixedVersion": "0:5.3.28-42.el8_4",
      "fix": "RLSA-2022:5498",
      "url": "https://patchblox.com/security/fix/linux/rlsa-2022-5498",
      "released": "2022-07-05T13:55:16Z"
    },
    {
      "platform": "linux",
      "product": "libnetty-java",
      "release": "Ubuntu 18.04.6 LTS (bionic)",
      "fixedVersion": "1:4.1.7-4ubuntu0.1\u002Besm2",
      "fix": "libnetty-java 1:4.1.7-4ubuntu0.1\u002Besm2",
      "url": "https://patchblox.com/security/fix/linux/ubuntu-bionic-libnetty-java-1-4.1.7-4ubuntu0.1-esm2",
      "released": "2022-12-12T23:15:00Z"
    },
    {
      "platform": "linux",
      "product": "libnetty-java",
      "release": "Ubuntu 20.04 LTS (focal)",
      "fixedVersion": "1:4.1.45-1ubuntu0.1~esm1",
      "fix": "libnetty-java 1:4.1.45-1ubuntu0.1~esm1",
      "url": "https://patchblox.com/security/fix/linux/ubuntu-focal-libnetty-java-1-4.1.45-1ubuntu0.1-esm1",
      "released": "2022-12-12T23:15:00Z"
    },
    {
      "platform": "linux",
      "product": "libnetty-java",
      "release": "Ubuntu 22.04.1 LTS (jammy)",
      "fixedVersion": "1:4.1.48-4\u002Bdeb11u1build0.22.04.1",
      "fix": "libnetty-java 1:4.1.48-4\u002Bdeb11u1build0.22.04.1",
      "url": "https://patchblox.com/security/fix/linux/ubuntu-jammy-libnetty-java-1-4.1.48-4-deb11u1build0.22.04.1",
      "released": "2022-12-12T23:15:00Z"
    },
    {
      "platform": "linux",
      "product": "libnetty-java",
      "release": "Ubuntu 24.10 (oracular)",
      "fixedVersion": "4.1.48-3",
      "fix": "libnetty-java 4.1.48-3",
      "url": "https://patchblox.com/security/fix/linux/ubuntu-oracular-libnetty-java-4.1.48-3",
      "released": "2026-01-16T01:42:22Z"
    },
    {
      "platform": "linux",
      "product": "libnetty-java",
      "release": "Ubuntu 25.04 (plucky)",
      "fixedVersion": "4.1.48-3",
      "fix": "libnetty-java 4.1.48-3",
      "url": "https://patchblox.com/security/fix/linux/ubuntu-plucky-libnetty-java-4.1.48-3",
      "released": "2026-01-16T01:42:24Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-09T01:18:40Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}