T08 · Insecure Dependencies
- Location
SKILL.md:36- Finding
Mutable Container Image Tag Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:34-42
Vulnerability Type: Unpinned third-party container dependency
Risk Level: MediumVulnerable Code Snippet:
yaml services: searxng: image: searxng/searxng:latest container_name: searxng ports: - "8080:8080" volumes: - ./searxng:/etc/searxng:rw environment: - SEARXNG_BASE_URL=http://localhost:8080/Technical Analysis
The deployment instructions use the mutable image tag
searxng/searxng:latest. A mutable tag does not identify the exact container artifact reviewed or originally installed. The registry owner—or an attacker who compromises the image repository—can replace the image referenced by that tag without changing this Skill.When the user subsequently pulls or deploys the image, Docker may execute code that differs from the version expected during review. The container also receives a writable bind mount at
./searxng:/etc/searxng:rw, allowing code inside the image to modify the host-side SearXNG configuration directory. The actual privileges available beyond that directory depend on the Docker configuration and host environment.Attack Path
- The upstream image repository, publishing account, or build pipeline is compromised, or the
latesttag is updated with an unsafe image. - A user follows the documented instructions and runs
docker compose up -d, or later pulls the mutable tag during an update. - Docker retrieves the new image referenced by
searxng/searxng:latest. - Attacker-controlled code executes inside the container.
- That code can access the container's network and modify data exposed through the writable
./searxng:/etc/searxngbind mount.
Impact Assessment
Successful exploitation permits arbitrary execution inside the deployed container with the container's assigned privileges. It may expose search traffic, alter search responses, access reac ...[truncated 255 chars]
- The upstream image repository, publishing account, or build pipeline is compromised, or the
- Remediation
View remediation
Remediation Suggestions
-
Pin the container image to a reviewed immutable digest, for example:
yaml image: searxng/searxng@sha256:<verified-image-digest> -
Record the corresponding release version and establish a controlled process for reviewing and updating the digest.
-
Verify image signatures or provenance attestations where supported.
-
Configure automated vulnerability scanning for the pinned image.
-
Run the container as a non-root user with dropped Linux capabilities and a read-only root filesystem where compatible.
-
Change the configuration mount to read-only after initial setup if runtime writes are unnecessary.
-
