edgelesssys/contrast · Security
Contras Affected by CopyFile Policy Subversion via Symlinks
- GHSA ID
- GHSA-rh99-wc69-c255
- Severity
- high
- Published
- Updated
- CVSS
- 8.1 · CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- CVSS v3
- 8.1 · CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Description
Impact
The Kata agent policies generated by the Contrast CLI had an issue in the CopyFile verification, which allowed arbitrary writes to the guest root filesytem. A malicious process on the host with the capability to connect to the Kata agent VSOCK could connect to the agent and issue a series of CopyFile requests to overwrite security-critical files or trick the workload into disclosing sensitive data, which effectively amounts to a full guest takeover.
Patches
This issue has been patched in Contrast v1.19.1.
Note that this fix does not change the fact that host-provided content is generally not trustworthy, as documented.
Workarounds
If upgrading is not possible, users can implement the fix in rego and pass it to contrast generate --policy. The rego-only fix is a bit trickier than the patch, because the data to check is binary. See the references for details.
Resources
- Upstream GHSA: https://github.com/kata-containers/kata-containers/security/advisories/GHSA-q49m-57vm-c8cc
- Alternative policy-only fix: https://gist.github.com/burgerdev/304dd0ab0fff1665b7c27e18a30cf96e
CWEs
- CWE-59 · Improper Link Resolution Before File Access ('Link Following')
References
- https://github.com/edgelesssys/contrast/security/advisories/GHSA-rh99-wc69-c255 ↗
- https://github.com/kata-containers/kata-containers/security/advisories/GHSA-q49m-57vm-c8cc ↗
- https://gist.github.com/burgerdev/304dd0ab0fff1665b7c27e18a30cf96e ↗
- https://github.com/edgelesssys/contrast/releases/tag/v1.19.1 ↗
- https://github.com/advisories/GHSA-rh99-wc69-c255 ↗