← Back to CVE Explorer

CVE-2026-40316

Full vulnerability record from the local CVENow database.

Description

OWASP BLT is a QA testing and vulnerability disclosure platform that encompasses websites, apps, git repositories, and more. Versions prior to 2.1.1 contain an RCE vulnerability in the .github/workflows/regenerate-migrations.yml workflow. The workflow uses the pull_request_target trigger to run with full GITHUB_TOKEN write permissions, copies attacker-controlled files from untrusted pull requests into the trusted runner workspace via git show, and then executes python manage.py makemigrations, which imports Django model modules including attacker-controlled website/models.py at runtime. Any module-level Python code in the attacker's models.py is executed during import, enabling arbitrary code execution in the privileged CI environment with access to GITHUB_TOKEN and repository secrets. The attack is triggerable by any external contributor who can open a pull request, provided a maintainer applies the regenerate-migrations label, potentially leading to secret exfiltration, repository compromise, and supply chain attacks. A patch for this issue is expected to be released in version 2.1.1.

Severity
HIGH
CVSS score
8.8 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-04-15 23:16:10.220000
Last modified
2026-10-26 22:10:00.163000
View original CVE JSON
{
  "id": "CVE-2026-40316",
  "sourceIdentifier": "[email protected]",
  "published": "2026-04-15T23:16:10.220",
  "lastModified": "2026-10-26T22:10:00.163",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "OWASP BLT is a QA testing and vulnerability disclosure platform that encompasses websites, apps, git repositories, and more. Versions prior to 2.1.1 contain an RCE vulnerability in the .github/workflows/regenerate-migrations.yml workflow. The workflow uses the pull_request_target trigger to run with full GITHUB_TOKEN write permissions, copies attacker-controlled files from untrusted pull requests into the trusted runner workspace via git show, and then executes python manage.py makemigrations, which imports Django model modules including attacker-controlled website/models.py at runtime. Any module-level Python code in the attacker's models.py is executed during import, enabling arbitrary code execution in the privileged CI environment with access to GITHUB_TOKEN and repository secrets. The attack is triggerable by any external contributor who can open a pull request, provided a maintainer applies the regenerate-migrations label, potentially leading to secret exfiltration, repository compromise, and supply chain attacks. A patch for this issue is expected to be released in version 2.1.1."
    },
    {
      "lang": "es",
      "value": "OWASP BLT es una plataforma de pruebas de QA y divulgación de vulnerabilidades que abarca sitios web, aplicaciones, repositorios git y más. Las versiones anteriores a la 2.1.1 contienen una vulnerabilidad RCE en el flujo de trabajo .github/workflows/regenerate-migrations.yml. El flujo de trabajo utiliza el disparador pull_request_target para ejecutarse con permisos de escritura completos de GITHUB_TOKEN, copia archivos controlados por el atacante de solicitudes de extracción no confiables al espacio de trabajo del ejecutor confiable a través de git show, y luego ejecuta python manage.py makemigrations, que importa módulos de modelo de Django incluyendo website/models.py controlado por el atacante en tiempo de ejecución. Cualquier código Python a nivel de módulo en el models.py del atacante se ejecuta durante la importación, lo que permite la ejecución de código arbitrario en el entorno CI privilegiado con acceso a GITHUB_TOKEN y a los secretos del repositorio. El ataque puede ser activado por cualquier colaborador externo que pueda abrir una solicitud de extracción, siempre que un mantenedor aplique la etiqueta regenerate-migrations, lo que podría llevar a la exfiltración de secretos, el compromiso del repositorio y ataques a la cadena de suministro. Se espera que un parche para este problema sea lanzado en la versión 2.1.1."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "OWASP-BLT",
          "product": "BLT",
          "versions": [
            {
              "version": "<= 2.1",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
          "baseScore": 8.8,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 5.9
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-04-16T14:17:42.666326Z",
          "id": "CVE-2026-40316",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-94"
        },
        {
          "lang": "en",
          "value": "CWE-95"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:owasp:owasp_blt:*:*:*:*:*:*:*:*",
              "versionEndIncluding": "2.1",
              "matchCriteriaId": "C9D716C3-AC30-4AD0-8BA8-AEBEF29A1980"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/OWASP-BLT/BLT/security/advisories/GHSA-wxm3-64fx-cmx9",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    }
  ]
}