kapsl Index
Docs Releases

grype

1 tool · 1 release line

Vulnerability scanner for container images, filesystems and SBOMs. Every tool here carries the same sandbox boundary.

Release lines we maintain · the project decides these

findings shown are the whole project at that line

Tag Resolves to Lifecycle Updated Findings What the tag promises
  • stable — floats, carries security updates
  • unstable — tracks pre-releases, may break
  • eol — frozen, upstream is done

Tools in this project · pick one to inspect

all share one boundary

Tool Capabilities Seccomp Findings Image Description
showing grype from grype@latest → 0.118.0 stable

Findings

H7M4?1

identical on amd64, arm64 — one table describes both

CVE Sev CVSS Affects Description
GHSA-2v4p-qf9q-27wj ↗ H 8.7 google.golang.org/grpc gRPC-Go xDS servers: Denial of Service (DoS) via crash due to missing `:authority` and `Host` headers
GHSA-vp52-pcj8-j9qc ↗ H 8.7 google.golang.org/grpc gRPC-Go: Heap Memory Exhaustion (OOM) via HTTP/2 DATA Frame Fragmentation
GO-2026-4887 ↗ H 7.8 github.com/docker/docker Moby has AuthZ plugin bypass when provided oversized request bodies in github.com/docker/docker
GO-2026-6354 ↗ H 7.5 golang.org/x/crypto Previously, a channel registered in the mux's chanList is not usable until it is established. A malicious peer was able flood the channel's incomingRequests, deadlocking the entire connection.
GO-2026-6355 ↗ H 7.5 golang.org/x/crypto Previously, after a channel has been established, a malicious peer could send crafted messages that would deadlock the entire connection. Now, we handle all RFC 4254 channel messages; global requests are handled explicitly.
GHSA-rg2x-37c3-w2rh ↗ H 7.2 github.com/docker/docker Docker: Race condition in docker cp allows bind mount redirection to host path
GHSA-x86f-5xw2-fm2r ↗ H 7.2 github.com/docker/docker Docker: `PUT /containers/{id}/archive` executes container binary on the host
GHSA-7jxh-36q5-gcqv ↗ M 6.8 github.com/containerd/containerd/v2 containerd: CRI ExecSync Goroutine Leak Leads to Node-Level Denial of Service
GHSA-pxq6-2prw-chj9 ↗ M 6.8 github.com/docker/docker Moby has an Off-by-one error in its plugin privilege validation
GHSA-qc2q-p7wx-3px3 ↗ M 6.3 google.golang.org/grpc gRPC-Go: xDS RBAC HTTP Filter bypass via mixed-case Header Matching and gRFC A41 validation evasion
GHSA-vp62-88p7-qqf5 ↗ M 6.1 github.com/docker/docker Docker: Race condition in docker cp allows creation of arbitrary empty files on the host via symlink swap
GO-2026-5932 ↗ ? — golang.org/x/crypto The golang.org/x/crypto/openpgp package is unsafe by design, has numerous known security issues, is not maintained, and should not be used.

These are the findings of grype, which ships every tool in this project. kapsl reports and gates; it never edits an image to clear a finding.

Composition

default nothing — stands alone
runtime none — self-contained
composes not used as a runtime

Some tools are only useful composed: a pip-installed CLI needs python as its runtime, bash pulls in coreutils. kapsl resolves that for you — -e git,python:flake8 composes explicitly.

Image

name grype
platforms
size 88 MB unpacked · 1 layer
base scratch
signed cosign · · public key
findings last changed

Sandbox boundary

grype

capabilities

netro

Filled is granted to every invocation; the rest need --cap at the point of use.

seccomp tier

per tool

default

The syscall filter applied to this tool's entry point. Tools sharing an image do not share a tier.

host paths mounted in

read-only unless noted

  • ~/.cache/grype · writable
  • ~/.grype.yaml
  • ~/.config/grype

env passed through

6 forwarded

HTTPS_PROXYHTTP_PROXYNO_PROXYhttp_proxyhttps_proxyno_proxy

Nothing else crosses in. No AWS_*, no SSH_AUTH_SOCK unless you ask.

env set by kapsl

1 set

GRYPE_CHECK_FOR_APP_UPDATE

per-subcommand

no overrides

Every invocation gets the same boundary. Where a tool needs more for one subcommand only, kapsl scopes it there rather than granting it everywhere.

Provenance

Every image ships a full SBOM and a signed build attestation. Nothing here is a claim you have to take on trust.

12 findings across this project at latest. Counted once per advisory across every image the project builds.