{"id":"CVE-2026-74757","revision":null,"records":[{"revision":"e26e4b07094f4eceaa94aefe66d1261a","observedAt":"2026-10-26T15:35:30.984+00:00","statement":{"source":"cve-program","id":"CVE-2026-74757","aliases":[],"title":"Apache bRPC: Uncontrolled Memory Allocation via Malicious mcpack Array Item Count","description":"Uncontrolled resource allocation in the mcpack2pb component in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to make the server allocate a large amount of memory via sending a crafted mcpack request with a huge array item count.\n\nRoot Cause:\nThe bRPC\u00A0mcpack2pb parser trusts the item count stored in the mcpack array header without validating it against the actual payload size. The code generated by the mcpack2pb protoc plugin uses this count to preallocate memory for repeated protobuf fields via Reserve(). A malformed request declaring item_count = 0x7fffffff can force the server to preallocate about 16GB of virtual memory, which may abort the process (SIGABRT) on memory-constrained hosts.\n\nAffected Scenarios:\nUse a bRPC server that wires a NsheadService to UbrpcMcpack2Adaptor (the Baidu ubrpc deployment pattern) and parses requests with code generated by the mcpack2pb protoc plugin. The request body is parsed before authentication.\n\nHow to Fix:\n(Choose one of the following options)\n1. Upgrade bRPC to version 1.18.0, which fixes this issue.\n2. Apply this patch:  https://github.com/apache/brpc/pull/3451 \n\nNote:\nNo matter which option you choose, you should know that the fix caps the array item count to the remaining bytes of the array payload.","state":0,"publishedAt":"2026-10-21T11:46:17.285+00:00","modifiedAt":"2026-10-26T13:40:04.776+00:00","affected":[{"ecosystem":"https://github.com","name":"apache/brpc","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"Apache Software Foundation\",\n                    \"product\": \"Apache bRPC\",\n                    \"packageURL\": \"pkg:github/apache/brpc\",\n                    \"versions\": [\n                        {\n                            \"status\": \"affected\",\n                            \"version\": \"0\",\n                            \"lessThan\": \"1.18.0\",\n                            \"versionType\": \"semver\"\n                        }\n                    ],\n                    \"defaultStatus\": \"unaffected\",\n                    \"collectionURL\": \"https://github.com\",\n                    \"packageName\": \"apache/brpc\"\n                }"}],"metrics":[],"references":["https://lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-74757","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-74757","identifiers":["CVE-2026-74757"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-27T16:45:49.1917550+00:00","complete":true,"records":1758,"lastAttemptAt":"2026-10-27T16:45:49.191755+00:00","lastSuccessAt":"2026-10-27T16:45:49.3612251+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:45:49.3612272+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-187d2b72c94ceb8c4417f1032ec3109a3a3a7b730abadb561d8cdd2a96e04d27-9922a1af2a457f8fe41f33587e7889e1da7ec81456fc303a945443c06d359ab2","complete":true,"records":415241,"lastAttemptAt":"2026-10-27T16:43:56.5794832+00:00","lastSuccessAt":"2026-10-27T16:43:56.5022811+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:43:56.5794832+00:00","snapshotPublishedAt":"2026-10-27T16:35:35+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-43321610382942b8ad8c85917eab1546","complete":false,"records":4735,"lastAttemptAt":"2026-10-27T16:46:16.6955146+00:00","lastSuccessAt":"2026-10-24T23:18:49.862+00:00","error":"InvalidDataException","lastVerifiedAt":"2026-10-24T23:18:49.862+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":0,"expectedIdentifiers":13497},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-27T16:45:49.1917550+00:00","complete":true,"records":1093,"lastAttemptAt":"2026-10-27T16:45:49.191755+00:00","lastSuccessAt":"2026-10-27T16:45:49.3623941+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:45:49.3623949+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-b877d586fc144938aa44089e665cd1e0","complete":true,"records":13434,"lastAttemptAt":"2026-10-27T16:46:14.7093171+00:00","lastSuccessAt":"2026-10-27T16:46:14.705+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:46:14.705+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13497,"expectedIdentifiers":13497},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-439cd5d099ccb2499c5497741843190e65b167cf304db2a157938d3d4847a993","complete":true,"records":9783,"lastAttemptAt":"2026-10-27T16:45:44.9454366+00:00","lastSuccessAt":"2026-10-27T16:45:44.7050411+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:45:44.9454366+00:00","snapshotPublishedAt":"2026-10-27T16:03:45+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-bad5d31e7f6a5e3d338e11d8789069b63620a403f927730769688b42f768e4f6","complete":true,"records":1965,"lastAttemptAt":"2026-10-27T16:43:56.7188167+00:00","lastSuccessAt":"2026-10-26T16:35:43.1460623+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:43:56.7188167+00:00","snapshotPublishedAt":"2026-10-26T16:18:29+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-3a5b306d60fc44677a03a8afc99d87e6c5402770ef68d560f94a8c3ad3802b75","complete":true,"records":3001,"lastAttemptAt":"2026-10-27T16:45:49.1598297+00:00","lastSuccessAt":"2026-10-27T16:45:49.0050993+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:45:49.1598297+00:00","snapshotPublishedAt":"2026-10-27T16:33:43+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-42822b9809dfe210feed0b7a563b95e683bae509605228dfdf3c43a4cf86d04d","complete":true,"records":230832,"lastAttemptAt":"2026-10-27T16:45:36.7397008+00:00","lastSuccessAt":"2026-10-27T16:45:35.4326335+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:45:36.7397008+00:00","snapshotPublishedAt":"2026-10-27T16:33:47+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null}]}