{"id":44036,"date":"2026-10-21T20:38:32","date_gmt":"2026-10-21T12:38:32","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74755"},"modified":"2026-10-21T20:38:32","modified_gmt":"2026-10-21T12:38:32","slug":"cve-2026-74755","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74755","title":{"rendered":"CVE-2026-74755 &#8211; An integer underflow in the mcpack2pb component of Apache bRPC (version &lt; 1.18.0) on all p"},"content":{"rendered":"<p>An integer underflow in the mcpack2pb component of Apache bRPC (version &lt; 1.18.0) on all platforms allows remote attackers to crash a bRPC server by sending a request containing a string field with a zero value_size. The UnparsedValue::as_string() function computes `_size &#8211; 1` without validating `_size`; when value_size is 0 the expression underflows to SIZE_MAX, resize() throws std::length_error, and because the exception is not caught on the request parsing path the process aborts (SIGABRT).<\/p>\n<p>Root Cause:<br \/>\nIn src\/mcpack2pb\/parser.cpp, UnparsedValue::as_string() resizes the output string to `_size &#8211; 1`, where `_size` is the value_size of a string field taken directly from the network data. A value_size of 0 underflows the unsigned size_t, and the subsequent resize() throws an exception that is not caught.<\/p>\n<p>Affected Scenarios:<br \/>\nbRPC servers that accept nshead frames wired to the ubrpc mcpack2 adaptor (for example the NsheadService + UbrpcMcpack2Adaptor deployment pattern) can be crashed by a single unauthenticated request. Stock open-source bRPC registers the ubrpc\/nshead_mcpack protocols as client-only, so default server configurations are not affected.<\/p>\n<p>How to Fix:<br \/>\n1. Upgrade bRPC to a version that includes this fix.<br \/>\n2. Apply the patch in PR\u00a0 https:\/\/github.com\/apache\/brpc\/pull\/3450<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An integer underflow in the mcpack2pb component of Apache bRPC (version &lt; 1.18.0) on all platforms allows remote attackers to crash a bRPC server by sending a request containing a string field with a <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-44036","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/44036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}