{"id":8413,"date":"2026-06-08T12:22:33","date_gmt":"2026-06-08T12:22:33","guid":{"rendered":"https:\/\/cybersecurityinfocus.com\/?p=8413"},"modified":"2026-06-08T12:22:33","modified_gmt":"2026-06-08T12:22:33","slug":"protocol-buffers-schemas-expose-remote-code-execution-risk","status":"publish","type":"post","link":"https:\/\/cybersecurityinfocus.com\/?p=8413","title":{"rendered":"Protocol Buffers schemas expose remote code execution risk"},"content":{"rendered":"<div>\n<div class=\"grid grid--cols-10@md grid--cols-8@lg article-column\">\n<div class=\"col-12 col-10@md col-6@lg col-start-3@lg\">\n<div class=\"article-column__content\">\n<div class=\"container\"><\/div>\n<p>A widely used JavaScript implementation of Google\u2019s <a href=\"https:\/\/github.com\/protocolbuffers\/protobuf\" target=\"_blank\" rel=\"noopener\">Protocol Buffers<\/a> format is placing too much trust in untrusted data, exposing affected applications to remote code execution and other attacks.<\/p>\n<p>Researchers at Cyera have disclosed six vulnerabilities affecting \u201c<a href=\"https:\/\/github.com\/protobufjs\/protobuf.js\/\" target=\"_blank\" rel=\"noopener\">protobuf.js<\/a>,\u201d all stemming from the library\u2019s handling of schema and metadata. Attackers could exploit an input validation oversight to insert malicious data and influence an application\u2019s behavior.<\/p>\n<p>Protocol Buffers is a technology for packaging data in a compact, structured format to streamline the exchange of information between different applications. The protobuf.js library reportedly receives more than 50 million weekly downloads. It is commonly pulled into applications indirectly through dependencies such as gRPC tooling, Google Cloud libraries, and other frameworks, making it difficult for organizations to track.<\/p>\n<p>Researchers disclosed six <a href=\"https:\/\/www.csoonline.com\/article\/4159882\/nist-cuts-down-cve-analysis-amid-vulnerability-overload.html\">CVE<\/a>s covering remote code execution, denial-of-service (DoS) conditions, prototype pollution, prototype injection, and code-generation issues.<\/p>\n<p>\u201cWhile exploitation of these vulnerabilities generally requires specific conditions, those conditions are increasingly common in data and AI ecosystems that routinely exchange data, schemas, and configuration files across services, repositories, cloud platforms, and third-party integrations,\u201d Cyera researchers Assaf Morag and Vladimir Tokarev said in a blog <a href=\"https:\/\/www.cyera.com\/blog\/cyera-research-uncovers-six-protobuf-js-vulnerabilities-impacting-the-backbone-of-data-and-ai-systems\" target=\"_blank\" rel=\"noopener\">post<\/a>.<\/p>\n<p>Patches are available for both protobuf.js and protonufjs-cli, the project\u2019s command-line code generation tools.<\/p>\n<h2 class=\"wp-block-heading\">Metadata capable of writing code<\/h2>\n<p>The most significant of the bugs is a code-generation flaw tracked as <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-44291\" target=\"_blank\" rel=\"noopener\">CVE-2026-44291<\/a>.<\/p>\n<p>According to Cyera, protobuf.js dynamically generates encoder and decoder functions and compiles them using JavaScript\u2019s Function () constructor. Under specific conditions, an attacker can manipulate schema-derived information so that data intended to describe a message instead becomes executable code.<\/p>\n<p>The researchers demonstrated an attack chain in which prototype pollution is used to trick protobuf.js into accepting attacker-controlled values as legitimate protobuf types. Those values are then incorporated into the generated code and executed within the Node.js process.<\/p>\n<p>The impact extends beyond runtime applications. A separate code-injection issue, tracked as <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2026-44295\" target=\"_blank\" rel=\"noopener\">CVE-2026-44295<\/a>, affects the pbjs command-line tool, where crafted schema names can be embedded into generated JavaScript files and executed when those files are later imported.<\/p>\n<p>While successful exploitation requires specific preconditions, such as the ability to influence protobuf schemas or descriptors, researchers noted that modern software increasingly exchanges schemas, descriptors, and configuration files across repositories, cloud environments, APIs, and third-party integrations, making those assumptions less restrictive than they once were.<\/p>\n<p>The remaining vulnerabilities are less severe. Researchers identified a prototype injection (<a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-44292\" target=\"_blank\" rel=\"noopener\">CVE-2026-44292<\/a>) flaw that can alter application behavior by tampering with inherited object properties, as well as denial-of-services (DoS) bugs (<a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-44289\" target=\"_blank\" rel=\"noopener\">CVE-2026-44289<\/a>, <a href=\"https:\/\/www.tenable.com\/cve\/CVE-2026-44290\" target=\"_blank\" rel=\"noopener\">CVE-2026-44290<\/a>, and <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-44294\" target=\"_blank\" rel=\"noopener\">CVE-2026-44294<\/a>) that can crash or exhaust application resources using maliciously crafted inputs.<\/p>\n<h2 class=\"wp-block-heading\">Patching advised as supply chain risk looms<\/h2>\n<p>The researchers noted that protobuf.js is often consumed as a transitive dependency, meaning organizations may be exposed without realizing the library is present in their software stack. As schemas move through automated development pipelines and software <a href=\"https:\/\/www.csoonline.com\/article\/4170694\/cisas-ai-sbom-guidance-pushes-software-supply-chain-oversight-into-new-territory.html\">supply chains<\/a>, components traditionally viewed as passive data can become a pathway for attacks.<\/p>\n<p>\u201cDevelopment teams routinely accept code contributions, integrate third-party components, and automatically process files through CI\/CD pipelines,\u201d they explained. \u201cWe found that under certain conditions, a malicious protobuf schema could be introduced into this workflow and ultimately executed within trusted build environments.\u201d<\/p>\n<p>A compromise at this stage could have downstream impacts on products, customers, and business operations, they added.<\/p>\n<p>The vulnerabilities affect protobuf.js versions 7.5.5 and earlier, along with versions 8.0.0 and 8.0.1, as well as vulnerable releases of protobuf.js-cli. Patches are available in protobuf.js 7.5.6 and 8.0.2, while protobuf.js-cli users are advised to upgrade to versions 1.2.1 or 2.0.2.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A widely used JavaScript implementation of Google\u2019s Protocol Buffers format is placing too much trust in untrusted data, exposing affected applications to remote code execution and other attacks. Researchers at Cyera have disclosed six vulnerabilities affecting \u201cprotobuf.js,\u201d all stemming from the library\u2019s handling of schema and metadata. Attackers could exploit an input validation oversight to [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":8414,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-8413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education"],"_links":{"self":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts\/8413"}],"collection":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8413"}],"version-history":[{"count":0,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts\/8413\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/media\/8414"}],"wp:attachment":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}