{"schema_version":"1.7.5","id":"GHSA-9vjp-v76f-g363","published":"2021-09-09T17:11:31Z","modified":"2026-07-08T06:27:59.313512567Z","aliases":["CVE-2021-37137"],"summary":" SnappyFrameDecoder doesn't restrict chunk length any may buffer skippable chunks in an unnecessary way","details":"### Impact\nThe Snappy frame decoder function doesn't restrict the chunk length which may lead to excessive memory usage. Beside this it also may buffer reserved skippable chunks until the whole chunk was received which may lead to excessive memory usage as well.\n\nThis vulnerability can be triggered by supplying malicious input that decompresses to a very big size (via a network stream or a file) or by sending a huge skippable chunk.\n\n### Impact\n\nAll users of SnappyFrameDecoder are affected and so the application may be in risk for a DoS attach due excessive memory usage.\n\n### References\nhttps://github.com/netty/netty/blob/netty-4.1.67.Final/codec/src/main/java/io/netty/handler/codec/compression/SnappyFrameDecoder.java#L79\nhttps://github.com/netty/netty/blob/netty-4.1.67.Final/codec/src/main/java/io/netty/handler/codec/compression/SnappyFrameDecoder.java#L171\nhttps://github.com/netty/netty/blob/netty-4.1.67.Final/codec/src/main/java/io/netty/handler/codec/compression/SnappyFrameDecoder.java#L185","affected":[{"package":{"name":"io.netty:netty-codec","ecosystem":"Maven","purl":"pkg:maven/io.netty/netty-codec"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.1.68.Final"}]}],"versions":["4.0.0.Final","4.0.1.Final","4.0.10.Final","4.0.11.Final","4.0.12.Final","4.0.13.Final","4.0.14.Beta1","4.0.14.Final","4.0.15.Final","4.0.16.Final","4.0.17.Final","4.0.18.Final","4.0.19.Final","4.0.2.Final","4.0.20.Final","4.0.21.Final","4.0.22.Final","4.0.23.Final","4.0.24.Final","4.0.25.Final","4.0.26.Final","4.0.27.Final","4.0.28.Final","4.0.29.Final","4.0.3.Final","4.0.30.Final","4.0.31.Final","4.0.32.Final","4.0.33.Final","4.0.34.Final","4.0.35.Final","4.0.36.Final","4.0.37.Final","4.0.38.Final","4.0.39.Final","4.0.4.Final","4.0.40.Final","4.0.41.Final","4.0.42.Final","4.0.43.Final","4.0.44.Final","4.0.45.Final","4.0.46.Final","4.0.47.Final","4.0.48.Final","4.0.49.Final","4.0.5.Final","4.0.50.Final","4.0.51.Final","4.0.52.Final","4.0.53.Final","4.0.54.Final","4.0.55.Final","4.0.56.Final","4.0.6.Final","4.0.7.Final","4.0.8.Final","4.0.9.Final","4.1.0.Beta1","4.1.0.Beta2","4.1.0.Beta3","4.1.0.Beta4","4.1.0.Beta5","4.1.0.Beta6","4.1.0.Beta7","4.1.0.Beta8","4.1.0.CR1","4.1.0.CR2","4.1.0.CR3","4.1.0.CR4","4.1.0.CR5","4.1.0.CR6","4.1.0.CR7","4.1.0.Final","4.1.1.Final","4.1.10.Final","4.1.11.Final","4.1.12.Final","4.1.13.Final","4.1.14.Final","4.1.15.Final","4.1.16.Final","4.1.17.Final","4.1.18.Final","4.1.19.Final","4.1.2.Final","4.1.20.Final","4.1.21.Final","4.1.22.Final","4.1.23.Final","4.1.24.Final","4.1.25.Final","4.1.26.Final","4.1.27.Final","4.1.28.Final","4.1.29.Final","4.1.3.Final","4.1.30.Final","4.1.31.Final","4.1.32.Final","4.1.33.Final","4.1.34.Final","4.1.35.Final","4.1.36.Final","4.1.37.Final","4.1.38.Final","4.1.39.Final","4.1.4.Final","4.1.40.Final","4.1.41.Final","4.1.42.Final","4.1.43.Final","4.1.44.Final","4.1.45.Final","4.1.46.Final","4.1.47.Final","4.1.48.Final","4.1.49.Final","4.1.5.Final","4.1.50.Final","4.1.51.Final","4.1.52.Final","4.1.53.Final","4.1.54.Final","4.1.55.Final","4.1.56.Final","4.1.57.Final","4.1.58.Final","4.1.59.Final","4.1.6.Final","4.1.60.Final","4.1.61.Final","4.1.62.Final","4.1.63.Final","4.1.64.Final","4.1.65.Final","4.1.66.Final","4.1.67.Final","4.1.7.Final","4.1.8.Final","4.1.9.Final"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/09/GHSA-9vjp-v76f-g363/GHSA-9vjp-v76f-g363.json"}},{"package":{"name":"org.jboss.netty:netty","ecosystem":"Maven","purl":"pkg:maven/org.jboss.netty/netty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.0.CR1","3.0.0.CR2","3.0.0.CR3","3.0.0.CR4","3.0.0.CR5","3.0.0.GA","3.0.1.GA","3.0.2.GA","3.1.0.ALPHA1","3.1.0.ALPHA2","3.1.0.ALPHA3","3.1.0.ALPHA4","3.1.0.BETA1","3.1.0.BETA2","3.1.0.BETA3","3.1.0.CR1","3.1.0.GA","3.1.1.GA","3.1.2.GA","3.1.3.GA","3.1.4.GA","3.1.5.GA","3.2.0.ALPHA1","3.2.0.ALPHA2","3.2.0.ALPHA3","3.2.0.ALPHA4","3.2.0.BETA1","3.2.0.CR1","3.2.0.Final","3.2.1.Final","3.2.10.Final","3.2.2.Final","3.2.3.Final","3.2.4.Final","3.2.5.Final","3.2.6.Final","3.2.7.Final","3.2.8.Final","3.2.9.Final"],"database_specific":{"last_known_affected_version_range":"< 4.0.0","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/09/GHSA-9vjp-v76f-g363/GHSA-9vjp-v76f-g363.json"}},{"package":{"name":"io.netty:netty","ecosystem":"Maven","purl":"pkg:maven/io.netty/netty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.10.0.Final","3.10.1.Final","3.10.2.Final","3.10.3.Final","3.10.4.Final","3.10.5.Final","3.10.6.Final","3.3.0.Final","3.3.1.Final","3.4.0.Alpha1","3.4.0.Alpha2","3.4.0.Beta1","3.4.0.Final","3.4.1.Final","3.4.2.Final","3.4.3.Final","3.4.4.Final","3.4.5.Final","3.4.6.Final","3.5.0.Beta1","3.5.0.Final","3.5.1.Final","3.5.10.Final","3.5.11.Final","3.5.12.Final","3.5.13.Final","3.5.2.Final","3.5.3.Final","3.5.4.Final","3.5.5.Final","3.5.6.Final","3.5.7.Final","3.5.8.Final","3.5.9.Final","3.6.0.Beta1","3.6.0.Final","3.6.1.Final","3.6.10.Final","3.6.2.Final","3.6.3.Final","3.6.4.Final","3.6.5.Final","3.6.6.Final","3.6.7.Final","3.6.8.Final","3.6.9.Final","3.7.0.Final","3.7.1.Final","3.8.0.Final","3.8.1.Final","3.8.2.Final","3.8.3.Final","3.9.0.Final","3.9.1.1.Final","3.9.1.Final","3.9.2.Final","3.9.3.Final","3.9.4.Final","3.9.5.Final","3.9.6.Final","3.9.7.Final","3.9.8.Final","3.9.9.Final","4.0.0.Alpha1","4.0.0.Alpha2","4.0.0.Alpha3","4.0.0.Alpha4","4.0.0.Alpha5","4.0.0.Alpha6","4.0.0.Alpha7","4.0.0.Alpha8"],"database_specific":{"last_known_affected_version_range":"< 4.0.0","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/09/GHSA-9vjp-v76f-g363/GHSA-9vjp-v76f-g363.json"}}],"references":[{"type":"WEB","url":"https://github.com/netty/netty/security/advisories/GHSA-9vjp-v76f-g363"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2021-37137"},{"type":"WEB","url":"https://github.com/netty/netty/commit/6da4956b31023ae967451e1d94ff51a746a9194f"},{"type":"WEB","url":"https://www.oracle.com/security-alerts/cpujul2022.html"},{"type":"WEB","url":"https://www.oracle.com/security-alerts/cpujan2022.html"},{"type":"WEB","url":"https://www.oracle.com/security-alerts/cpuapr2022.html"},{"type":"WEB","url":"https://www.debian.org/security/2023/dsa-5316"},{"type":"WEB","url":"https://security.netapp.com/advisory/ntap-20220210-0012"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2023/01/msg00008.html"},{"type":"WEB","url":"https://lists.apache.org/thread.html/rfb2bf8597e53364ccab212fbcbb2a4e9f0a9e1429b1dc08023c6868e@%3Cdev.tinkerpop.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/rd262f59b1586a108e320e5c966feeafbb1b8cdc96965debc7cc10b16@%3Ccommits.druid.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r75490c61c2cb7b6ae2c81238fd52ae13636c60435abcd732d41531a0@%3Ccommits.druid.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r5e05eba32476c580412f9fbdfc9b8782d5b40558018ac4ac07192a04@%3Ccommits.druid.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r5406eaf3b07577d233b9f07cfc8f26e28369e6bab5edfcab41f28abb@%3Ccommits.druid.apache.org%3E"},{"type":"WEB","url":"https://lists.apache.org/thread.html/r06a145c9bd41a7344da242cef07977b24abe3349161ede948e30913d@%3Ccommits.druid.apache.org%3E"},{"type":"WEB","url":"https://github.com/netty/netty/blob/4.1/codec/src/main/java/io/netty/handler/codec/compression/SnappyFrameDecoder.java#L79"},{"type":"WEB","url":"https://github.com/netty/netty/blob/4.1/codec/src/main/java/io/netty/handler/codec/compression/SnappyFrameDecoder.java#L185"},{"type":"WEB","url":"https://github.com/netty/netty/blob/4.1/codec/src/main/java/io/netty/handler/codec/compression/SnappyFrameDecoder.java#L171"},{"type":"PACKAGE","url":"https://github.com/netty/netty"}],"database_specific":{"cwe_ids":["CWE-400"],"github_reviewed":true,"github_reviewed_at":"2021-09-09T14:44:10Z","nvd_published_at":"2021-10-19T15:15:00Z","severity":"HIGH"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}