{"id":"CVE-2024-7254","published":"2024-09-19T00:18:45Z","modified":"2025-09-08T09:37:53Z","title":"Stack overflow in Protocol Buffers Java Lite","vendor":"Google","product":"Protocol Buffers","tier":"tail","description":{"text":"Any project that parses untrusted Protocol Buffers data containing an arbitrary number of nested groups / series of SGROUP tags can corrupted by exceeding the stack limit i.e. StackOverflow. Parsing nested groups as unknown fields with DiscardUnknownFieldsParser or Java Protobuf Lite parser, or against Protobuf map fields, creates unbounded recursions that can be abused by an attacker.","provenance":"source","from":"CVE.org"},"cvss":{"score":8.7,"severity":"HIGH","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.02772,"percentile":0.86285,"provenance":"source"},"cwes":[{"id":"CWE-400","name":"Uncontrolled Resource Consumption"},{"id":"CWE-674","name":"Uncontrolled Recursion"}],"references":[{"url":"https://github.com/protocolbuffers/protobuf/commit/cc8b3483a5584b3301e3d43d17eb59704857ffaa","tags":[]},{"url":"https://security.netapp.com/advisory/ntap-20241213-0010/","tags":[]},{"url":"https://security.netapp.com/advisory/ntap-20250418-0006/","tags":[]}],"priority":{"score":23.3,"factors":[{"name":"EPSS percentile","points":17.26},{"name":"CVSS severity","points":6.09}]},"vendorSlug":"google","affectedVersions":[{"vendor":"Google","product":"Protocol Buffers","versions":["< 28.2"]},{"vendor":"Google","product":"protobuf-java","versions":["< 3.25.5","< 4.27.5","< 4.28.2"]},{"vendor":"Google","product":"protobuf-javalite","versions":["< 3.25.5","< 4.27.5","< 4.28.2"]},{"vendor":"Google","product":"protobuf-kotlin","versions":["< 3.25.5","< 4.27.5","< 4.28.2"]},{"vendor":"Google","product":"protobuf-kotllin-lite","versions":["< 3.25.5","< 4.27.5","< 4.28.2"]},{"vendor":"Google","product":"google-protobuf [JRuby Gem]","versions":["< 3.25.5","< 4.27.5","< 4.28.2"]}],"affected":[{"ecosystem":"Maven","package":"com.google.protobuf:protobuf-java","vulnerableRanges":["<3.25.5",">=4.0.0-RC1, <4.27.5",">=4.28.0-RC1, <4.28.2"],"patched":["3.25.5","4.27.5","4.28.2"],"from":["GHSA-735f-pc8j-v9w8"],"provenance":"source"},{"ecosystem":"Maven","package":"com.google.protobuf:protobuf-javalite","vulnerableRanges":["<3.25.5",">=4.0.0-RC1, <4.27.5",">=4.28.0-RC1, <4.28.2"],"patched":["3.25.5","4.27.5","4.28.2"],"from":["GHSA-735f-pc8j-v9w8"],"provenance":"source"},{"ecosystem":"Maven","package":"com.google.protobuf:protobuf-kotlin","vulnerableRanges":["<3.25.5",">=4.0.0-RC1, <4.27.5",">=4.28.0-RC1, <4.28.2"],"patched":["3.25.5","4.27.5","4.28.2"],"from":["GHSA-735f-pc8j-v9w8"],"provenance":"source"},{"ecosystem":"Maven","package":"com.google.protobuf:protobuf-kotlin-lite","vulnerableRanges":["<3.25.5",">=4.0.0-RC1, <4.27.5",">=4.28.0-RC1, <4.28.2"],"patched":["3.25.5","4.27.5","4.28.2"],"from":["GHSA-735f-pc8j-v9w8"],"provenance":"source"},{"ecosystem":"RubyGems","package":"google-protobuf","vulnerableRanges":["<3.25.5",">=4.0.0.rc.1, <4.27.5",">=4.28.0.rc.1, <4.28.2"],"patched":["3.25.5","4.27.5","4.28.2"],"from":["GHSA-735f-pc8j-v9w8"],"provenance":"source"}],"euvd":{"id":"EUVD-2024-2741","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-google-protocol-buffers-cve-2024-7254","children":[{"from":"CVE-2024-7254","to":"CVE-2025-4565","relation":"related","confidence":"high","kind":"lineage","evidence":[{"kind":"osv-related","provenance":"source","id":"GHSA-8qvm-5x2c-j2w7","via":"reference","url":"https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-735f-pc8j-v9w8"},{"kind":"osv-related","provenance":"source","id":"PYSEC-2026-1806","via":"reference","url":"https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-735f-pc8j-v9w8"}]},{"from":"CVE-2024-7254","to":"CVE-2025-53605","relation":"related","confidence":"high","kind":"lineage","evidence":[{"kind":"osv-related","provenance":"source","id":"GHSA-735f-pc8j-v9w8","via":"related"},{"kind":"osv-related","provenance":"source","id":"RUSTSEC-2024-0437","via":"related"}]}],"packageHistory":[{"cve":"CVE-2021-22569","published":"2022-01-07","fixed":"3.19.2","kev":false},{"cve":"CVE-2022-3171","published":"2022-10-12","fixed":"3.21.7","kev":false,"link":{"from":"CVE-2022-3171","to":"CVE-2024-7254","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:com.google.protobuf:protobuf-kotlin","fromFixed":"3.21.7","toFixed":"3.25.5","daysApart":708},{"kind":"version-step","provenance":"source","package":"RubyGems:google-protobuf","fromFixed":"3.21.7","toFixed":"3.25.5","daysApart":708}]}},{"cve":"CVE-2024-7254","published":"2024-09-19","fixed":"4.28.2","kev":false}],"package":"Maven:com.google.protobuf:protobuf-kotlin"}}