CVE-2026-29075
Received Received - Intake
Remote Code Execution via Untrusted Code in Mesa

Publication date: 2026-03-06

Last updated on: 2026-03-11

Assigner: GitHub, Inc.

Description
Mesa is an open-source Python library for agent-based modeling, simulating complex systems and exploring emergent behaviors. In version 3.5.0 and prior, checking out of untrusted code in benchmarks.yml workflow may lead to code execution in privileged runner. This issue has been patched via commit c35b8cd.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-06
Last Modified
2026-03-11
Generated
2026-05-07
AI Q&A
2026-03-06
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
mesa_project mesa to 3.5.0 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-94 The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': "CVE-2026-29075 is a high-severity vulnerability in the Mesa open-source Python library's GitHub Actions workflow file benchmarks.yml. In versions 3.5.0 and prior, the workflow uses the pull_request_target event to check out code from pull requests. This event runs with elevated permissions and checks out untrusted code from the PR branch. Because the workflow runs scripts like pip install and executes Python scripts from the PR branch, a malicious actor can craft code within the PR to execute arbitrary code on the privileged runner."}, {'type': 'paragraph', 'content': 'This arbitrary code execution can occur with elevated permissions because the runner has write access to issues and pull requests, potentially allowing unauthorized actions. The vulnerability arises from the combination of checking out untrusted code and running it with high privileges in the CI workflow.'}] [2]


How can this vulnerability impact me? :

This vulnerability can lead to unauthorized code execution on the privileged GitHub Actions runner used by the Mesa project. Since the runner has write permissions to issues and pull requests, an attacker could exploit this to perform unauthorized actions such as modifying pull requests, creating or editing issues, or potentially injecting malicious code into the project.

The impact includes a significant security risk where an attacker can leverage the CI workflow to gain elevated privileges and compromise the integrity of the repository and its development process.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by examining the GitHub Actions workflows in the mesa/mesa repository, specifically looking for the use of the `pull_request_target` event in the `.github/workflows/benchmarks.yml` file. The presence of this event indicates that untrusted code from pull requests is checked out and executed with elevated permissions, which is the root cause of the vulnerability.

To detect if your system or network is affected, you can check the workflow file for the event trigger and permissions settings.

  • Run a command to fetch and inspect the workflow file, for example: `curl -s https://raw.githubusercontent.com/mesa/mesa/main/.github/workflows/benchmarks.yml | grep pull_request_target`
  • Check for the presence of `pull_request_target` event and permissions that allow write access, which indicate vulnerability.

Additionally, review recent commits to see if the patch commit `c35b8cd` has been applied, which mitigates the issue.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability immediately, update the GitHub Actions workflow to avoid running untrusted code with elevated permissions.

  • Replace the `pull_request_target` event with the `pull_request` event in the `.github/workflows/benchmarks.yml` file to reduce permission scope.
  • Split the benchmarking workflow into two separate workflows: one that runs benchmarks with read-only permissions triggered by `pull_request`, and another that handles commenting with write permissions triggered by `workflow_run`.
  • Apply the patch introduced in commit `c35b8cd` which refactors the workflow to separate privileged operations from untrusted code execution.

These steps limit the exposure of privileged runners to untrusted code, preventing arbitrary code execution.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart