Contrast (edgelesssys/contrast) versions 1.14.0 before 1.23.1 generate runtime policies that fail to detect all container image substitutions. A bad rebase during a Kata Containers update accidentally introduced an `allow_storage` rule that accepts storage entries using the `image_guest_pull` driver without verifying the image digest. An attacker with access to the Kata agent API — for example, a Kubernetes cluster administrator in Contrast's threat model — can therefore substitute a container image with an exploit payload, provided the substituted image satisfies the remaining policy rules, undermining the confidential container's integrity guarantees.
Contrast before 1.23.1 Image Substitution via Policy Generation
Problem type
Affected products
edgelesssys
< 1.23.1 - AFFECTED
1.23.1 - UNAFFECTED
References
https://github.com/edgelesssys/contrast/security/advisories/GHSA-m2qg-wrxv-h898
https://www.vulncheck.com/advisories/contrast-before-1.23.1-image-substitution-via-policy-generation
GitHub Security Advisories
GHSA-mjj6-px65-jq92
Contrast (edgelesssys/contrast) versions 1.14.0 before 1.23.1 generate runtime policies that fail...
https://github.com/advisories/GHSA-mjj6-px65-jq92Contrast (edgelesssys/contrast) versions 1.14.0 before 1.23.1 generate runtime policies that fail to detect all container image substitutions. A bad rebase during a Kata Containers update accidentally introduced an allow_storage rule that accepts storage entries using the image_guest_pull driver without verifying the image digest. An attacker with access to the Kata agent API — for example, a Kubernetes cluster administrator in Contrast's threat model — can therefore substitute a container image with an exploit payload, provided the substituted image satisfies the remaining policy rules, undermining the confidential container's integrity guarantees.
https://github.com/edgelesssys/contrast/security/advisories/GHSA-m2qg-wrxv-h898
https://nvd.nist.gov/vuln/detail/CVE-2026-100833
https://www.vulncheck.com/advisories/contrast-before-1.23.1-image-substitution-via-policy-generation
https://github.com/advisories/GHSA-mjj6-px65-jq92
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-100833Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-100833",
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"dateUpdated": "2026-09-27T01:28:32.099Z",
"dateReserved": "2026-09-26T23:23:03.410Z",
"datePublished": "2026-09-27T01:28:32.099Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-09-27T01:28:32.099Z"
},
"datePublic": "2026-08-24T00:00:00.000Z",
"title": "Contrast before 1.23.1 Image Substitution via Policy Generation",
"descriptions": [
{
"lang": "en",
"value": "Contrast (edgelesssys/contrast) versions 1.14.0 before 1.23.1 generate runtime policies that fail to detect all container image substitutions. A bad rebase during a Kata Containers update accidentally introduced an `allow_storage` rule that accepts storage entries using the `image_guest_pull` driver without verifying the image digest. An attacker with access to the Kata agent API — for example, a Kubernetes cluster administrator in Contrast's threat model — can therefore substitute a container image with an exploit payload, provided the substituted image satisfies the remaining policy rules, undermining the confidential container's integrity guarantees."
}
],
"affected": [
{
"vendor": "edgelesssys",
"product": "contrast",
"defaultStatus": "unaffected",
"versions": [
{
"version": "1.14.0",
"status": "affected",
"versionType": "semver",
"lessThan": "1.23.1"
},
{
"version": "1.23.1",
"status": "unaffected",
"versionType": "semver"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Improper Input Validation",
"cweId": "CWE-20",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/edgelesssys/contrast/security/advisories/GHSA-m2qg-wrxv-h898",
"name": "GitHub Security Advisory (GHSA-m2qg-wrxv-h898)",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://www.vulncheck.com/advisories/contrast-before-1.23.1-image-substitution-via-policy-generation",
"name": "VulnCheck Advisory: Contrast before 1.23.1 Image Substitution via Policy Generation",
"tags": [
"third-party-advisory"
]
}
],
"metrics": [
{
"format": "CVSS"
},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE",
"baseScore": 8.2,
"baseSeverity": "HIGH"
}
}
],
"credits": [
{
"lang": "en",
"value": "sespiros",
"type": "finder"
},
{
"lang": "en",
"value": "burgerdev",
"type": "finder"
}
]
}
}
}