FKIE_CVE-2026-33634
Vulnerability from fkie_nvd - Published: 2026-03-23 22:16 - Updated: 2026-06-17 10:37{
"affected": [
{
"affectedData": [
{
"product": "setup-trivy",
"vendor": "aquasecurity",
"versions": [
{
"status": "affected",
"version": "\u003c 0.2.6"
}
]
},
{
"product": "trivy-action",
"vendor": "aquasecurity",
"versions": [
{
"status": "affected",
"version": "\u003c 0.35.0"
}
]
},
{
"product": "trivy",
"vendor": "aquasecurity",
"versions": [
{
"status": "affected",
"version": "= 0.69.4"
}
]
},
{
"product": "LiteLLM",
"vendor": "BerriAI",
"versions": [
{
"status": "affected",
"version": "\u003e= 1.82.7, \u003c= 1.82.8"
}
]
},
{
"product": "telnyx",
"vendor": "team-telnyx",
"versions": [
{
"status": "affected",
"version": "\u003e= 4.87.1, \u003c= 4.87.2"
}
]
}
],
"source": "security-advisories@github.com"
}
],
"cisaActionDue": "2026-04-09",
"cisaExploitAdd": "2026-03-26",
"cisaRequiredAction": "Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.",
"cisaVulnerabilityName": "Aquasecurity Trivy Embedded Malicious Code Vulnerability",
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:aquasec:setup-trivy:*:*:*:*:*:*:*:*",
"matchCriteriaId": "1F71EEF3-BE0B-4465-8FA9-6F7AC0232611",
"versionEndExcluding": "0.2.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:aquasec:trivy:0.69.4:*:*:*:*:go:*:*",
"matchCriteriaId": "0FA4DA16-3603-489F-B55B-758F0C90FA7D",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:aquasec:trivy_action:*:*:*:*:*:*:*:*",
"matchCriteriaId": "B248C8E0-CFEF-484E-BA95-95E56B0EF550",
"versionEndExcluding": "0.35.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
},
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:litellm:litellm:1.82.7:*:*:*:*:*:*:*",
"matchCriteriaId": "754B1179-4A04-46A0-87EA-BAE142088E23",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:litellm:litellm:1.82.8:*:*:*:*:*:*:*",
"matchCriteriaId": "AE8FD26B-9DD9-4BC4-A15F-01852A979B79",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
},
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:telnyx:telnyx:4.87.1:*:*:*:*:python:*:*",
"matchCriteriaId": "3F64D45B-84AA-433F-A29E-09A1F957B2E4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:telnyx:telnyx:4.87.2:*:*:*:*:python:*:*",
"matchCriteriaId": "C5216D3E-B5AD-48A8-B7C9-6DD16981ECAD",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Trivy is a security scanner. On March 19, 2026, a threat actor used compromised credentials to publish a malicious Trivy v0.69.4 release, force-push 76 of 77 version tags in `aquasecurity/trivy-action` to credential-stealing malware, and replace all 7 tags in `aquasecurity/setup-trivy` with malicious commits. This incident is a continuation of the supply chain attack that began in late February 2026. Following the initial disclosure on March 1, credential rotation was performed but was not atomic (not all credentials were revoked simultaneously). The attacker could have use a valid token to exfiltrate newly rotated secrets during the rotation window (which lasted a few days). This could have allowed the attacker to retain access and execute the March 19 attack. Affected components include the `aquasecurity/trivy` Go / Container image version 0.69.4, the `aquasecurity/trivy-action` GitHub Action versions 0.0.1 \u2013 0.34.2 (76/77), and the`aquasecurity/setup-trivy` GitHub Action versions 0.2.0 \u2013 0.2.6, prior to the recreation of 0.2.6 with a safe commit. Known safe versions include versions 0.69.2 and 0.69.3 of the Trivy binary, version 0.35.0 of trivy-action, and version 0.2.6 of setup-trivy. Additionally, take other mitigations to ensure the safety of secrets. If there is any possibility that a compromised version ran in one\u0027s environment, all secrets accessible to affected pipelines must be treated as exposed and rotated immediately. Check whether one\u0027s organization pulled or executed Trivy v0.69.4 from any source. Remove any affected artifacts immediately. Review all workflows using `aquasecurity/trivy-action` or `aquasecurity/setup-trivy`. Those who referenced a version tag rather than a full commit SHA should check workflow run logs from March 19\u201320, 2026 for signs of compromise. Look for repositories named `tpcp-docs` in one\u0027s GitHub organization. The presence of such a repository may indicate that the fallback exfiltration mechanism was triggered and secrets were successfully stolen. Pin GitHub Actions to full, immutable commit SHA hashes, don\u0027t use mutable version tags."
},
{
"lang": "es",
"value": "Trivy es un esc\u00e1ner de seguridad. El 19 de marzo de 2026, un actor de amenaza utiliz\u00f3 credenciales comprometidas para publicar una versi\u00f3n maliciosa de Trivy v0.69.4, forzar el env\u00edo de 76 de 77 etiquetas de versi\u00f3n en `aquasecurity/trivy-action` a malware de robo de credenciales, y reemplazar las 7 etiquetas en `aquasecurity/setup-trivy` con commits maliciosos. Este incidente es una continuaci\u00f3n del ataque a la cadena de suministro que comenz\u00f3 a finales de febrero de 2026. Tras la divulgaci\u00f3n inicial el 1 de marzo, se realiz\u00f3 la rotaci\u00f3n de credenciales pero no fue at\u00f3mica (no todas las credenciales fueron revocadas simult\u00e1neamente). El atacante podr\u00eda haber utilizado un token v\u00e1lido para exfiltrar secretos reci\u00e9n rotados durante la ventana de rotaci\u00f3n (que dur\u00f3 unos pocos d\u00edas). Esto podr\u00eda haber permitido al atacante retener el acceso y ejecutar el ataque del 19 de marzo. Los componentes afectados incluyen la imagen Go / contenedor `aquasecurity/trivy` versi\u00f3n 0.69.4, las versiones 0.0.1 \u2013 0.34.2 (76/77) de la GitHub Action `aquasecurity/trivy-action`, y las versiones 0.2.0 \u2013 0.2.6 de la GitHub Action `aquasecurity/setup-trivy`, antes de la recreaci\u00f3n de la 0.2.6 con un commit seguro. Las versiones seguras conocidas incluyen las versiones 0.69.2 y 0.69.3 del binario de Trivy, la versi\u00f3n 0.35.0 de trivy-action, y la versi\u00f3n 0.2.6 de setup-trivy. Adem\u00e1s, tome otras mitigaciones para asegurar la seguridad de los secretos. Si existe alguna posibilidad de que una versi\u00f3n comprometida se haya ejecutado en el entorno de uno, todos los secretos accesibles a las pipelines afectadas deben ser tratados como expuestos y rotados inmediatamente. Verifique si la organizaci\u00f3n de uno extrajo o ejecut\u00f3 Trivy v0.69.4 de cualquier fuente. Elimine cualquier artefacto afectado inmediatamente. Revise todos los flujos de trabajo que utilizan `aquasecurity/trivy-action` o `aquasecurity/setup-trivy`. Aquellos que referenciaron una etiqueta de versi\u00f3n en lugar de un SHA de commit completo deben revisar los registros de ejecuci\u00f3n del flujo de trabajo del 19 al 20 de marzo de 2026 en busca de signos de compromiso. Busque repositorios llamados `tpcp-docs` en la organizaci\u00f3n de GitHub de uno. La presencia de dicho repositorio puede indicar que el mecanismo de exfiltraci\u00f3n de respaldo se activ\u00f3 y los secretos fueron robados con \u00e9xito. Fije las GitHub Actions a hashes SHA de commit completos e inmutables, no use etiquetas de versi\u00f3n mutables."
}
],
"id": "CVE-2026-33634",
"lastModified": "2026-06-17T10:37:49.183",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"cvssMetricV40": [
{
"cvssData": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"availabilityRequirement": "NOT_DEFINED",
"baseScore": 9.4,
"baseSeverity": "CRITICAL",
"confidentialityRequirement": "NOT_DEFINED",
"exploitMaturity": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"privilegesRequired": "LOW",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"source": "security-advisories@github.com",
"type": "Secondary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-33634",
"options": [
{
"exploitation": "active"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-03-24T00:00:00+00:00",
"version": "2.0.3"
}
}
]
},
"published": "2026-03-23T22:16:31.290",
"references": [
{
"source": "security-advisories@github.com",
"tags": [
"Third Party Advisory"
],
"url": "https://docs.litellm.ai/blog/security-update-march-2026"
},
{
"source": "security-advisories@github.com",
"tags": [
"Third Party Advisory"
],
"url": "https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack"
},
{
"source": "security-advisories@github.com",
"tags": [
"Issue Tracking",
"Mitigation",
"Third Party Advisory"
],
"url": "https://github.com/BerriAI/litellm/issues/24518"
},
{
"source": "security-advisories@github.com",
"tags": [
"Issue Tracking",
"Vendor Advisory"
],
"url": "https://github.com/aquasecurity/trivy/discussions/10425"
},
{
"source": "security-advisories@github.com",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
],
"url": "https://github.com/aquasecurity/trivy/security/advisories/GHSA-69fq-xp46-6x23"
},
{
"source": "security-advisories@github.com",
"tags": [
"Third Party Advisory"
],
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/litellm/PYSEC-2026-2.yaml"
},
{
"source": "security-advisories@github.com",
"tags": [
"Third Party Advisory"
],
"url": "https://github.com/team-telnyx/telnyx-python/security/advisories/GHSA-955r-262c-33jc"
},
{
"source": "security-advisories@github.com",
"tags": [
"Broken Link"
],
"url": "https://inspector.pypi.io/project/litellm/1.82.7/packages/79/5f/b6998d42c6ccd32d36e12661f2734602e72a576d52a51f4245aef0b20b4d/litellm-1.82.7-py3-none-any.whl/litellm/proxy/proxy_server.py#line.130"
},
{
"source": "security-advisories@github.com",
"tags": [
"Broken Link"
],
"url": "https://inspector.pypi.io/project/litellm/1.82.8/packages/f6/2c/731b614e6cee0bca1e010a36fd381fba69ee836fe3cb6753ba23ef2b9601/litellm-1.82.8.tar.gz/litellm-1.82.8/litellm_init.pth#line.1"
},
{
"source": "security-advisories@github.com",
"tags": [
"Not Applicable"
],
"url": "https://www.wiz.io/blog/teampcp-attack-kics-github-action"
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Issue Tracking",
"Mitigation",
"Third Party Advisory"
],
"url": "https://github.com/BerriAI/litellm/issues/24518#issuecomment-4127436387"
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Third Party Advisory"
],
"url": "https://rosesecurity.dev/2026/03/20/typosquatting-trivy.html"
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"US Government Resource"
],
"url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-33634"
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Technical Description"
],
"url": "https://www.microsoft.com/en-us/security/blog/2026/03/24/detecting-investigating-defending-against-trivy-supply-chain-compromise/"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-506"
}
],
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.