{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-105767",
        "assignerOrgId": "82cea9a6-e9e3-46fe-bdb0-3673de380178",
        "state": "PUBLISHED",
        "assignerShortName": "chainguard",
        "dateReserved": "2026-10-05T19:21:04.930Z",
        "datePublished": "2026-10-05T19:48:47.712Z",
        "dateUpdated": "2026-10-06T14:14:31.450Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "82cea9a6-e9e3-46fe-bdb0-3673de380178",
                "shortName": "chainguard",
                "dateUpdated": "2026-10-05T19:48:47.712Z"
            },
            "title": "Chainguard Academy (edu) integrate-platform-docs composite action interpolates inputs into shell commands",
            "datePublic": "2026-06-26T18:13:00.000Z",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "lang": "en",
                            "cweId": "CWE-78",
                            "description": "CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "impacts": [
                {
                    "capecId": "CAPEC-88",
                    "descriptions": [
                        {
                            "lang": "en",
                            "value": "CAPEC-88 OS Command Injection"
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "vendor": "Chainguard",
                    "product": "Chainguard Academy (edu)",
                    "platforms": [
                        "GitHub Actions"
                    ],
                    "repo": "https://github.com/chainguard-dev/edu",
                    "modules": [
                        "integrate-platform-docs composite action"
                    ],
                    "programFiles": [
                        ".github/actions/integrate-platform-docs/action.yaml",
                        ".github/workflows/integrate-platform-docs/action.yaml",
                        ".github/workflows/integrate-enforce-docs/action.yaml"
                    ],
                    "versions": [
                        {
                            "status": "affected",
                            "version": "7375a80caabcc31c33ec90f29687ed78c13d16ff",
                            "lessThan": "fb0efb2537d326ab18c07d620875b8ed2a4b39f3",
                            "versionType": "git"
                        }
                    ],
                    "defaultStatus": "unaffected"
                }
            ],
            "descriptions": [
                {
                    "lang": "en",
                    "value": "Improper Neutralization of Special Elements used in an OS Command in the integrate-platform-docs composite GitHub Action of Chainguard Academy (edu) from commit 7375a80caabcc31c33ec90f29687ed78c13d16ff before commit fb0efb2537d326ab18c07d620875b8ed2a4b39f3 allows an actor who controls the project_id or storage_bucket inputs to execute arbitrary shell commands on the GitHub Actions runner, because the inputs are interpolated directly into Bash gcloud storage cp commands in several steps via ${{ inputs.* }} expressions. The only in-repository caller passed repository secrets and ran only on trusted triggers, so no untrusted input was known to reach the vulnerable steps.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>Improper Neutralization of Special Elements used in an OS Command in the <code>integrate-platform-docs</code> composite GitHub Action of Chainguard Academy (edu) from commit 7375a80caabcc31c33ec90f29687ed78c13d16ff before commit fb0efb2537d326ab18c07d620875b8ed2a4b39f3 allows an actor who controls the <code>project_id</code> or <code>storage_bucket</code> inputs to execute arbitrary shell commands on the GitHub Actions runner, because the inputs are interpolated directly into Bash <code>gcloud storage cp</code> commands in several steps via <code>${{ inputs.* }}</code> expressions. The only in-repository caller passed repository secrets and ran only on trusted triggers, so no untrusted input was known to reach the vulnerable steps.</p>"
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://github.com/chainguard-dev/edu/commit/fb0efb2537d326ab18c07d620875b8ed2a4b39f3",
                    "name": "Fix commit fb0efb2",
                    "tags": [
                        "patch"
                    ]
                },
                {
                    "url": "https://github.com/chainguard-dev/edu/pull/3471",
                    "name": "chainguard-dev/edu#3471",
                    "tags": [
                        "patch"
                    ]
                }
            ],
            "metrics": [
                {
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ],
                    "cvssV4_0": {
                        "attackVector": "NETWORK",
                        "attackComplexity": "LOW",
                        "attackRequirements": "PRESENT",
                        "privilegesRequired": "HIGH",
                        "userInteraction": "NONE",
                        "vulnConfidentialityImpact": "LOW",
                        "subConfidentialityImpact": "NONE",
                        "vulnIntegrityImpact": "LOW",
                        "subIntegrityImpact": "NONE",
                        "vulnAvailabilityImpact": "NONE",
                        "subAvailabilityImpact": "NONE",
                        "exploitMaturity": "NOT_DEFINED",
                        "Safety": "NOT_DEFINED",
                        "Automatable": "NOT_DEFINED",
                        "Recovery": "NOT_DEFINED",
                        "valueDensity": "NOT_DEFINED",
                        "vulnerabilityResponseEffort": "NOT_DEFINED",
                        "providerUrgency": "NOT_DEFINED",
                        "version": "4.0",
                        "baseSeverity": "LOW",
                        "baseScore": 2.1,
                        "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"
                    }
                },
                {
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ],
                    "cvssV3_1": {
                        "version": "3.1",
                        "attackVector": "NETWORK",
                        "attackComplexity": "HIGH",
                        "privilegesRequired": "HIGH",
                        "userInteraction": "NONE",
                        "scope": "UNCHANGED",
                        "confidentialityImpact": "LOW",
                        "integrityImpact": "LOW",
                        "availabilityImpact": "NONE",
                        "baseSeverity": "LOW",
                        "baseScore": 3.3,
                        "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N"
                    }
                }
            ],
            "configurations": [
                {
                    "lang": "en",
                    "value": "A workflow uses the integrate-platform-docs action and passes attacker-controlled values into the project_id or storage_bucket inputs.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>A workflow uses the <code>integrate-platform-docs</code> action and passes attacker-controlled values into the <code>project_id</code> or <code>storage_bucket</code> inputs.</p>"
                        }
                    ]
                }
            ],
            "solutions": [
                {
                    "lang": "en",
                    "value": "Fixed in commit fb0efb2537d326ab18c07d620875b8ed2a4b39f3, which passes the inputs to the shell through environment variables instead of expression interpolation. Workflows that reference this action at an older ref should update to fb0efb2537d326ab18c07d620875b8ed2a4b39f3 or later.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>Fixed in commit fb0efb2537d326ab18c07d620875b8ed2a4b39f3, which passes the inputs to the shell through environment variables instead of expression interpolation. Workflows that reference this action at an older ref should update to fb0efb2537d326ab18c07d620875b8ed2a4b39f3 or later.</p>"
                        }
                    ]
                }
            ],
            "timeline": [
                {
                    "time": "2023-01-20T14:42:00.000Z",
                    "lang": "en",
                    "value": "Action introduced with inline input interpolation (chainguard-dev/edu#227)"
                },
                {
                    "time": "2026-06-26T18:13:00.000Z",
                    "lang": "en",
                    "value": "Fix merged (chainguard-dev/edu#3471)"
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "value": "Steve Beattie (https://github.com/stevebeattie)",
                    "type": "remediation developer"
                },
                {
                    "lang": "en",
                    "value": "SunnyR (https://github.com/SunnyR)",
                    "type": "coordinator"
                },
                {
                    "lang": "en",
                    "value": "Chainguard (https://chainguard.dev)",
                    "type": "coordinator"
                }
            ],
            "source": {
                "discovery": "INTERNAL"
            },
            "x_generator": {
                "engine": "Vulnogram 1.0.5"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2026-10-06T14:14:17.632816Z",
                                "id": "CVE-2026-105767",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2026-10-06T14:14:31.450Z"
                }
            }
        ]
    }
}