Files
command-center/omp-docs/reports/vuln-dankclaw.md
T
Frank 27da5cd9ec docs(reports): land the fleet security audit with its per-host vuln passes
Fold the Dankclaw and Dankserver vulnerability passes into
fleet-security-audit-2026-10-21.html: the stub "Advisory cross-reference (in
progress)" section becomes the full matrix (host advisories, GHSA coverage,
image-vulnerability matrix, no-advisory census, observed-without-credentials
rows for the two livingroom hosts) and the header links the two working files,
which move into omp-docs/reports/ with an index of their own.

Correct three figures the audit had wrong, all found by re-probing: the
mutable-tag census (17 -> 19 Dankclaw manifests / 17 unique references, +4 on
Dankserver), the Dankserver OpenSSH advisory count (0 -> 5 unpatched CVEs; the
first OSV query omitted the version epoch, and OSV answers "0 vulns" rather
than "unknown" for a malformed purl), and the Plex version ("12.1.0" is
Jellyfin's - the live container reports 1.43.5.11029-6bf8af3f0-ls329). Also
repair a malformed <code> tag in F1's evidence cell.

kb-lint and kb-coverage both report 0 issues; index.md gains the Reports
section and log.md the matching entry.
2026-10-21 14:04:33 -07:00

37 KiB

type, title, description, tags, verified
type title description tags verified
reference Vulnerability pass — Dankclaw (2026-10-21) Per-container CVE/GHSA pass for the 33 Dankclaw quadlet images and the Ubuntu 26.04 host — the evidence base behind the fleet security audit report.
security
vulnerability
dankclaw
2026-10-21

Vulnerability pass — host dankclaw (Ubuntu 26.04.1 LTS "resolute")

Audited date: 2026-10-21. Image set = the 33 quadlet units in /home/dank/.config/containers/systemd/*.container (grep -h "^Image=" ~/.config/containers/systemd/*.container), 37 running containers. Host facts: kernel 7.0.0-38-generic, openssh 1:10.2p1-2ubuntu3.8, openssl/libssl3t64 3.5.5-1ubuntu3.7, unattended-upgrades active, apt-cache policy candidate == installed for both host packages (no pending distro upgrade).

Every version below was resolved on the host (endpoint, podman exec, image label, or apk db) — the command is named in the row or in §Version resolution. No CVE/GHSA id is listed unless it came back from the OSV API (POST https://api.osv.dev/v1/query), the GitHub advisories API, the Ubuntu security tracker, or the Alpine secdb; the source URL is on the same row.

Headline findings

  1. SurrealDB 2.7.0 (open-notebook-surrealdb) is affected by 25 advisories (6 HIGH) and every one of them is fixed only in the 3.x line (fixed: 3.1.0 / 3.1.4 / 3.1.5 / 3.2.0). The image is digest-pinned to surrealdb/surrealdb:v2, so there is no fixed release on the running v2 line — remediation requires a major-version migration.
  2. libssl3 3.5.7-r0 in the gitea-server, grafana and pihole containers is missing 10 OpenSSL fixes that Alpine shipped in 3.5.8-r0 (Alpine v3.24 secdb). The other Alpine-3.24 containers carry 3.5.8-r0/3.5.9-r0 (clean).
  3. musl 1.2.6-r2 in 8 containers is missing CVE-2026-107891 (Alpine fixed it in 1.2.6-r3).
  4. openssh 1:10.2p1-2ubuntu3.8 has 5 CVEs with no Ubuntu fix published for the installed source version (Ubuntu severity: medium each). Candidate == installed, so there is nothing to upgrade to yet.
  5. Pi-hole runs FTL 6.7.1 / Web 6.6 / Core 6.4.3; the vendor published 12 advisories on 2026-10-17 — after the running image was built (2026-09-19) — and reports newer releases available (FTL v6.8, Web v6.6.1, Core v6.5).
  6. 24 of 33 quadlet units float on latest/main/nightly/rolling tags (§Pinning gaps), so a "fixed in" answer is only valid for the exact digest running today.

Affected components

Columns: component | installed/resolved version | CVE | severity | fixed in | source URL

surrealdb/surrealdb:v2 @sha256:e5d7387… — resolved 2.7.0 (podman exec open-notebook-surrealdb /surreal version)

OSV query: ecosystem crates.io, package surrealdb, version 2.7.0 → 25 matches; all affected ranges are introduced: 0 → fixed: 3.x, i.e. 2.7.0 is inside every range.

component installed/resolved version CVE severity fixed in source URL
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63735 (GHSA-848m-r628-vrxw) HIGH 3.2.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-848m-r628-vrxw
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-4vgr-h27g-cf9p (no CVE assigned) HIGH 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-4vgr-h27g-cf9p
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-5qfp-32cf-69jh (no CVE assigned) HIGH 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-5qfp-32cf-69jh
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-cc8f-fcx3-gpjr (no CVE assigned) HIGH 3.1.5 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-cc8f-fcx3-gpjr
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63760 (GHSA-q729-696q-g9pq) HIGH 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-q729-696q-g9pq
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-wjjj-24cx-f28g (no CVE assigned) HIGH 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-wjjj-24cx-f28g
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63748 (GHSA-6g9v-7gq3-p2c6) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-6g9v-7gq3-p2c6
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63740 (GHSA-8rw6-p7m8-63jp) MODERATE 3.1.4 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-8rw6-p7m8-63jp
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63743 (GHSA-97vg-427p-8hx5) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-97vg-427p-8hx5
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63755 (GHSA-98fx-66cf-fc7c) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-98fx-66cf-fc7c
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63751 (GHSA-fpxg-5xmv-922m) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-fpxg-5xmv-922m
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63761 (GHSA-fwg2-gr34-q3w8) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-fwg2-gr34-q3w8
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63758 (GHSA-gcwr-5mrf-fvch) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-gcwr-5mrf-fvch
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-63746 (GHSA-vjjx-rfw4-rmfc) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-vjjx-rfw4-rmfc
open-notebook-surrealdb (surrealdb) 2.7.0 CVE-2026-49997 (GHSA-whwg-vh4f-pmmf) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-whwg-vh4f-pmmf
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-4m82-p8cx-f94j (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-4m82-p8cx-f94j
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-4v76-cw68-4vc9 (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-4v76-cw68-4vc9
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-65rj-r9fh-jp2v (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-65rj-r9fh-jp2v
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-6vg3-hgrw-p5gf (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-6vg3-hgrw-p5gf
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-6wqw-vhfr-9999 (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-6wqw-vhfr-9999
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-c8jx-96c9-8xrp (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-c8jx-96c9-8xrp
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-f82j-v89j-mf86 (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-f82j-v89j-mf86
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-h5rg-8p7f-47g2 (no CVE assigned) MODERATE 3.1.5 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-h5rg-8p7f-47g2
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-q8qp-67f9-wr3f (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-q8qp-67f9-wr3f
open-notebook-surrealdb (surrealdb) 2.7.0 GHSA-wp87-mgvq-5j93 (no CVE assigned) MODERATE 3.1.0 https://github.com/surrealdb/surrealdb/security/advisories/GHSA-wp87-mgvq-5j93

Note: the ranges are recorded against the surrealdb crate on crates.io; the advisory texts describe server behaviour (LIVE queries, HTTP /rpc, permissions, JWKS SSRF), so the running server is the exposed surface. SurrealDB is published on 127.0.0.1-adjacent ports only (open-notebook reaches it over the pod network).

Alpine base packages in the running containers (source: https://secdb.alpinelinux.org/v3.24/main.json)

musl 1.2.6-r2 → fix exists at 1.2.6-r3; libssl3 3.5.7-r0 → 10 CVEs fixed at 3.5.8-r0. The Alpine secdb carries no severity field, so severity is reported as n/a (Alpine secdb).

component installed/resolved version CVE severity fixed in source URL
musl in gitea-server (alpine 3.24.1) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
musl in grafana (alpine 3.24.1) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
musl in pihole (alpine 3.24.1) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
musl in gitea-postgres (alpine 3.24.2) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
musl in authentik-postgres (alpine 3.24.2) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
musl in searxng-valkey (alpine 3.24.2) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
musl in ntfy (alpine 3.24.2) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
musl in frank-tts (alpine 3.24.2) 1.2.6-r2 CVE-2026-107891 n/a (Alpine secdb) 1.2.6-r3 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-14456 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-14457 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-18798 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-54874 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-63072 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-63073 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-63074 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-63075 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-63076 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in gitea-server 3.5.7-r0 CVE-2026-75803 n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in grafana 3.5.7-r0 CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-63072/63073/63074/63075/63076, CVE-2026-75803 (10 CVEs) n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json
libssl3 in pihole 3.5.7-r0 CVE-2026-14456, CVE-2026-14457, CVE-2026-18798, CVE-2026-54874, CVE-2026-63072/63073/63074/63075/63076, CVE-2026-75803 (10 CVEs) n/a (Alpine secdb) 3.5.8-r0 https://secdb.alpinelinux.org/v3.24/main.json

Clean at the installed version on the same secdb: openssl 3.5.8-r0 / 3.5.9-r0, busybox 1.37.0-r31, ncurses 6.6_p20260516-r0, icu-libs 78.1-r0 (0 unfixed entries above the installed version).

Host packages — Ubuntu 26.04 LTS, source package openssh

OSV query: ecosystem Ubuntu, package openssh, version 1:10.2p1-2ubuntu3.8 → 5 matches, each ECOSYSTEM[introduced=0] with no fixed event, i.e. no fixed upload recorded for the release line. Ubuntu's own severity for all five is medium (OSV severity[].type == "Ubuntu"). Distro status: apt-cache policy openssh-server candidate = 1:10.2p1-2ubuntu3.8 = installed; source package = openssh (dpkg -s openssh-server → Source: openssh).

component installed/resolved version CVE severity fixed in source URL
openssh-server / openssh-client (src: openssh) 1:10.2p1-2ubuntu3.8 CVE-2026-110923 (UBUNTU-CVE-2026-110923; sftp client: malicious server name handling) medium (Ubuntu) not published (OSV range has no fixed event; candidate == installed) https://ubuntu.com/security/CVE-2026-110923
openssh-server / openssh-client (src: openssh) 1:10.2p1-2ubuntu3.8 CVE-2026-110924 (GSSAPI auth failure leaves data in inconsistent state) medium (Ubuntu) not published (no fixed event; candidate == installed) https://ubuntu.com/security/CVE-2026-110924
openssh-server / openssh-client (src: openssh) 1:10.2p1-2ubuntu3.8 CVE-2026-110925 (ssh command-line username still contains $/special chars) medium (Ubuntu) not published (no fixed event; candidate == installed) https://ubuntu.com/security/CVE-2026-110925
openssh-server / openssh-client (src: openssh) 1:10.2p1-2ubuntu3.8 CVE-2026-110926 (compression: channels on one connection share state) medium (Ubuntu) not published (no fixed event; candidate == installed) https://ubuntu.com/security/CVE-2026-110926
openssh-server / openssh-client (src: openssh) 1:10.2p1-2ubuntu3.8 CVE-2026-110927 (compressed payload can expand past limit) medium (Ubuntu) not published (no fixed event; candidate == installed; Red Hat has RHSA-2026:82247) https://ubuntu.com/security/CVE-2026-110927

Pi-hole — pihole/pihole:latest, resolved Core v6.4.3 / Web v6.6 / FTL v6.7.1

Resolved with podman exec pihole pihole -v (output: "Core version is v6.4.3 (Latest: v6.5) / Web version is v6.6 (Latest: v6.6.1) / FTL version is v6.7.1 (Latest: v6.8)"). Image label org.opencontainers.image.version = 2026.09.0 (built 2026-09-19). Vendor advisories come from GET https://api.github.com/repos/pi-hole/FTL/security-advisories (26 entries) and …/repos/pi-hole/web/security-advisories (24 entries); the repository-advisory index response does not contain a patched-version field, so "fixed in" is the vendor's current release reported by pihole -v. Rows below are the advisories published on/after the running image build date (2026-09-19), which therefore cannot be assumed fixed in the running build.

component installed/resolved version CVE severity fixed in source URL
pihole (pihole-FTL) FTL v6.7.1 GHSA-8fc6-q9x4-892v (unauthenticated CHAOS/TXT overflow of stat buffer) medium not stated in advisory index; vendor latest v6.8 per pihole -v https://github.com/pi-hole/FTL/security/advisories/GHSA-8fc6-q9x4-892v
pihole (pihole-FTL) FTL v6.7.1 GHSA-xj4x-gf2g-r6m7 (EDNS option cross-query application) medium not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-xj4x-gf2g-r6m7
pihole (pihole-FTL) FTL v6.7.1 GHSA-v53r-4564-3449 (app-password/CLI sessions read all admin auth secrets) medium not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-v53r-4564-3449
pihole (pihole-FTL) FTL v6.7.1 GHSA-667h-gpmh-7gxc (authenticated arbitrary file read via file:// blocklists) medium not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-667h-gpmh-7gxc
pihole (pihole-FTL) FTL v6.7.1 GHSA-2h7g-g549-hf74 (authenticated file read + fix bypass) high not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-2h7g-g549-hf74
pihole (pihole-FTL) FTL v6.7.1 GHSA-322h-f873-hp54 (any LAN website can read/change Pi-hole v6 without password) low not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-322h-f873-hp54
pihole (pihole-FTL) FTL v6.7.1 GHSA-9828-2f2q-2c8v (authenticated UAF in domain search API) low not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-9828-2f2q-2c8v
pihole (pihole-FTL) FTL v6.7.1 GHSA-mqr7-j2p5-5495 (authenticated double free in domain-list regex validation) low not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-mqr7-j2p5-5495
pihole (pihole-FTL) FTL v6.7.1 GHSA-v8mj-cqgw-63rj (UAF of DHCP leases on DELETE /api/dhcp/leases) low not stated; vendor latest v6.8 https://github.com/pi-hole/FTL/security/advisories/GHSA-v8mj-cqgw-63rj
pihole (pihole-FTL) FTL v6.7.1 GHSA-7997-2868-rjfg (stack buffer overflow in _FTL_make_answer()) medium published 2026-09-19, same day as image build; not stated https://github.com/pi-hole/FTL/security/advisories/GHSA-7997-2868-rjfg
pihole (pihole-FTL) FTL v6.7.1 GHSA-gx63-h4w6-f46g (config-validator bypass via Teleporter import) high published 2026-09-19; not stated https://github.com/pi-hole/FTL/security/advisories/GHSA-gx63-h4w6-f46g
pihole (pihole-FTL) FTL v6.7.1 GHSA-2794-hrj8-5jg9 (webserver.advancedOpts RCE → root + arbitrary file read) high published 2026-09-19; not stated https://github.com/pi-hole/FTL/security/advisories/GHSA-2794-hrj8-5jg9
pihole (pihole-FTL) FTL v6.7.1 GHSA-ww5x-xx4x-qvjr (misc.dnsmasq_lines accepts exec-capable options → RCE) high published 2026-09-19; not stated https://github.com/pi-hole/FTL/security/advisories/GHSA-ww5x-xx4x-qvjr
pihole (web) Web v6.6 GHSA-rmr4-hqc8-825f (stored XSS in All Settings) low not stated; vendor latest v6.6.1 per pihole -v https://github.com/pi-hole/web/security/advisories/GHSA-rmr4-hqc8-825f
pihole (web) Web v6.6 GHSA-3vhj-5284-xrmm (stored XSS in DNS conditional forwarding) low not stated; vendor latest v6.6.1 https://github.com/pi-hole/web/security/advisories/GHSA-3vhj-5284-xrmm
pihole (web) Web v6.6 GHSA-qfpp-28mj-pj6p (stored XSS in Local DNS Records) low not stated; vendor latest v6.6.1 https://github.com/pi-hole/web/security/advisories/GHSA-qfpp-28mj-pj6p

Older vendor advisories whose applicability to FTL 6.7.1 / Web 6.6 / Core 6.4.3 could not be determined within the API cap (fixed-version fields are absent from the index response): 13 further pi-hole/FTL advisories (CVE-2026-65963, CVE-2026-65964, CVE-2026-71304, CVE-2026-65966, CVE-2026-44693, CVE-2026-39849, CVE-2026-35491, CVE-2026-35517, CVE-2026-35520, CVE-2026-35518, CVE-2026-35519, CVE-2026-35521, CVE-2025-62165 — several HIGH/RCE-class, published 2026-04-03 … 2026-07-06, i.e. before the running image) and 21 older pi-hole/web advisories. Follow-up: fetch each advisory page and diff against FTL 6.7.1 / Web 6.6.

Valkey 9.1.2 — applicability of 4 vendor advisories could not be confirmed

valkey/valkey:9-alpine runs a from-source build (/usr/local/bin/valkey-server, no valkey apk package), resolved Valkey server v=9.1.2. Alpine v3.24 secdb valkey secfixes top out at 9.0.4-r0 and do not list these four ids, so no distro-side fixed version exists to compare against:

component installed/resolved version CVE severity fixed in source URL
searxng-valkey 9.1.2 CVE-2026-63639 (UAF in stream deserialization → possible RCE) high unconfirmed (not in Alpine v3.24 secdb; GHSA index has no patched-version) https://github.com/valkey-io/valkey/security/advisories/GHSA-mvcj-73cw-22m4
searxng-valkey 9.1.2 CVE-2026-56684 (UAF with TLS → possible RCE) high unconfirmed (same) https://github.com/valkey-io/valkey/security/advisories/GHSA-53mc-f3m3-99vh
searxng-valkey 9.1.2 GHSA-jcj7-v34w-v9vv (UAF in RDMA pending-data handler, no CVE assigned) high unconfirmed (same) https://github.com/valkey-io/valkey/security/advisories/GHSA-jcj7-v34w-v9vv
searxng-valkey 9.1.2 GHSA-fq2f-crmw-q97r (unauthenticated UAF of the Lua interpreter state, no CVE assigned) high unconfirmed (same) https://github.com/valkey-io/valkey/security/advisories/GHSA-fq2f-crmw-q97r

Confirmed already fixed below 9.1.2 by the Alpine v3.24 secdb (so no action): CVE-2024-31227 / CVE-2024-31228 / CVE-2024-31449 (7.2.7-r0), CVE-2025-21605 (7.2.9-r0), CVE-2025-49844 (8.1.4-r0), CVE-2025-67733 / CVE-2026-21863 / CVE-2026-27623 (9.0.3-r0), CVE-2026-23479 / CVE-2026-25243 / CVE-2026-23631 (9.0.4-r0) — https://secdb.alpinelinux.org/v3.24/main.json. Valkey is reachable only from the searxng container network.

Checked, no advisory applies at the resolved version

component installed/resolved version CVE severity fixed in source URL
gitea/gitea:latest → gitea-server 1.27.3 (GET 127.0.0.1:3000/api/v1/version) none known; 3 OSV Go matches (code.gitea.io/gitea@1.27.3) all patched below 1.27.3: CVE-2025-68939 (range < 1.23.0), CVE-2026-58439 (1.27.0), CVE-2026-60004 (1.27.1, CRITICAL RCE via diffpatch git hook) highest among checked: critical (CVE-2026-60004) CVE-2026-60004 → 1.27.1; CVE-2026-58439 → 1.27.0 https://github.com/go-gitea/gitea/security/advisories/GHSA-rcr6-4jqh-j84m
grafana/grafana:latest → grafana 13.2.2 commit 1bea008f (GET 127.0.0.1:3002/api/health) none whose release range covers 13.2.2 (newest ranges end at < 13.0.2 / < 12.4.4) — but 5 advisories publish only Go pseudo-version ranges, see caveat below n/a n/a https://api.github.com/advisories?affects=github.com/grafana%2Fgrafana
ghcr.io/goauthentik/server:2026.8.3 (server, worker, outpost) 2026.8.3 (pinned tag; image label org.opencontainers.image.version) none; all 6 goauthentik.io advisories patched before 2026.8, newest CVE-2026-47201 (SAML XSW) patched at 0.0.0-20260528144335 high (CVE-2026-47201) pseudo-version 2026-05-28 (before 2026.8.3) https://github.com/goauthentik/authentik/security/advisories/GHSA-c3m2-jqmq-pvp3
ghcr.io/goauthentik/ldap@sha256:2e7b259… (outpost-ldap) image label 2026.8.3 none (same advisory set as server) high (CVE-2026-47201) before 2026.8.3 https://github.com/goauthentik/authentik/security/advisories/GHSA-c3m2-jqmq-pvp3
library/postgres:16-alpine (gitea-postgres, authentik-postgres) 16.15 (postgres --version); from-source build in /usr/local (no postgresql16 apk package) PostgreSQL server is not covered by OSV/GHSA package ecosystems and postgresql16 is absent from the Alpine v3.24 secdb → see Unverifiable n/a n/a https://api.osv.dev/v1/query (Alpine/postgresql16/16.15 → 0 matches)
prom/prometheus:latest → prometheus 3.15.0 (GET 127.0.0.1:9090/api/v1/status/buildinfo) none: CVE-2026-42154 (remote-read DoS, patched < 0.311.3), CVE-2026-44903 (stored XSS, < 0.311.3), CVE-2026-42151 (Azure secret exposure, < 0.311.3) — all patched below the running 3.x line; the >= 1.0.0-rc.0, <= 2.5.0 range excludes 3.15.0 high (CVE-2026-42154) 0.311.3 (GHSA encoding of the 3.11.3 fix) https://github.com/prometheus/prometheus/security/advisories/GHSA-8rm2-7qqf-34qm
prom/alertmanager:latest → alertmanager 0.34.1 (alertmanager_build_info on :9093) none known (OSV Go github.com/prometheus/alertmanager@0.34.1 → 0 matches) n/a n/a https://api.osv.dev/v1/query
prom/node-exporter:latest → node-exporter 1.12.1 (node_exporter_build_info on :9100) none known (OSV Go github.com/prometheus/node_exporter@1.12.1 → 0 matches) n/a n/a https://api.osv.dev/v1/query
localhost/franksdank/loki:latest → loki 3.7.8 (loki_build_info branch release-3.7.x on :3100) CVE-2026-21726 (path-traversal bypass) is the only match and github.com/grafana/loki/v3 is fixed: 3.6.4 → 3.7.8 patched (advisory unranked in OSV) 3.6.4 https://github.com/advisories/GHSA-497x-rrr9-68jp
franksdank/caddy-porkbun:latest → caddy 2.11.7 (podman exec caddy caddy version; image label v2.11.7) none known (OSV Go github.com/caddyserver/caddy@2.11.7 → 0 matches) n/a n/a https://api.osv.dev/v1/query
localhost/techarohq/anubis:v1.27.0 → anubis v1.27.0 (image label + revision d39e26ce; Chainguard static build) none known (OSV Go github.com/TecharoHQ/anubis@1.27.0 → 0 matches) n/a n/a https://api.osv.dev/v1/query
ghcr.io/searxng/searxng:latest → searxng 2026.9.25-12f8b6515 (image label org.opencontainers.image.version) none; searxng/searxng repo security-advisories list is empty n/a n/a https://github.com/searxng/searxng/security/advisories
ghcr.io/open-webui/open-webui:main → open-webui 0.11.4 (GET 127.0.0.1:3005/api/version) none; every published open-webui advisory is patched at ≤ 0.11.1 (≈100 advisories reviewed) highest among checked: high 0.11.1 (newest patched release) https://api.github.com/advisories?affects=open-webui
docker.io/qmcgaw/gluetun:latest → gluetun "latest" build, commit 1267bae, built 2026-09-23 (podman logs gluetun: "Running version latest … (commit 1267bae)") none known (OSV Go with the commit → 0 matches; affects=gluetun → 0 advisories) n/a n/a https://api.github.com/advisories?affects=gluetun
ghcr.io/manualdousuario/marreta:latest → marreta v4.5.1-30894417718 (PHP 8.4.24, Debian 13) — container startup banner "📦 Versions / Image: v4.5.1-30894417718" none known (affects=marreta → 0 advisories); its PHP/Debian base packages were not enumerated (API cap) n/a n/a https://api.github.com/advisories?affects=marreta
ghcr.io/seerr-team/seerr:v3.4.1 → seerr 3.4.1 (/app/package.json inside image) none known (affects=seerr → 0 advisories; repos/sct/seerr/security-advisories → 404, wrong slug) n/a n/a https://api.github.com/advisories?affects=seerr
docker.io/lfnovo/open_notebook:v1-latest@sha256:54b2025… → open-notebook 1.15.0 (/app/pyproject.toml → version = "1.15.0"; CHANGELOG top release 1.15.0 dated 2026-10-04) none known (OSV PyPI open-notebook@1.15.0 → 0 matches) n/a n/a https://api.osv.dev/v1/query
docker.io/chromedp/headless-shell@sha256:2d349b5… → chrome-devtools-protocol Chrome/151.0.7922.109 (GET 127.0.0.1:9222/json/version) Chrome is not covered by OSV/GHSA ecosystems → see Unverifiable n/a n/a https://api.osv.dev/v1/query (no Chrome ecosystem)
localhost/comfyui-rocm:gfx1151 → comfyui ComfyUI 0.37.0 (GET 127.0.0.1:8188/api/system_stats → comfyui_version) none known (OSV PyPI comfyui@0.37.0 and comfyui-frontend-package@1.53.6 → 0 matches) n/a n/a https://api.osv.dev/v1/query
docker.io/binwiederhier/ntfy:latest → ntfy 2.29.0 (podman exec ntfy ntfy --version) none known (OSV Go github.com/binwiederhier/ntfy@2.29.0 → 0 matches) n/a n/a https://api.osv.dev/v1/query
gcr.io/cadvisor/cadvisor:v0.49.1 → cadvisor, cadvisor-test v0.49.1 (cadvisor_version_info on :8080) no application advisory (OSV Go github.com/google/cadvisor@0.49.1 → 0 matches); base image is Alpine 3.18.6 with musl 1.2.4-r2, libssl3 3.1.4-r5, busybox 1.36.1-r5 — a long-supported, old branch; v3.18 secdb not fetched (API cap), see Unverifiable n/a n/a https://api.osv.dev/v1/query
openssl / libssl3t64 (host, src: openssl) 3.5.5-1ubuntu3.7 none (OSV Ubuntu package openssl @3.5.5-1ubuntu3.7 → 0 matches; candidate == installed; source package openssl) n/a n/a https://api.osv.dev/v1/query

Grafana caveat (read before closing this row)

GET https://api.osv.dev/v1/query for Go module github.com/grafana/grafana @ 13.2.2 returns 48 advisories, and the GitHub advisory index returns 70 for the same package — almost all of them carry a Go pseudo-version range (< 1.9.2-0.20260616… and similar) alongside release ranges that end at < 13.0.2. Those pseudo-version ranges make 13.2.2 match mechanically while the release-version ranges say it is patched; the 48/70 counts are a Go-module ecosystem artefact, not 48 findings. Five advisories publish only pseudo-version ranges, so their applicability to the 13.2.2 server cannot be decided from OSV/GHSA: CVE-2026-33380 (SQL Expressions reads file from disk), CVE-2026-33381 (service-account token generation after per-org limit), CVE-2026-21724 (Editor-role authorization bypass), CVE-2026-21727 (legacy correlations cross-tenant disclosure), CVE-2025-6023 (open-redirect XSS). Follow-up: check https://grafana.com/security/security-advisories/ for those five release statements.

Pinning gaps

Mutable tags in /home/dank/.config/containers/systemd/*.container — a latest-tagged container silently changes underneath every "fixed in" claim above (paths relative to that directory):

declaring file Image= line tag class
alertmanager.container docker.io/prom/alertmanager:latest floating latest
caddy.container franksdank/caddy-porkbun:latest floating latest, local build
frank-tts.container localhost/franksdank/frank-tts:latest floating latest, local build
frank-tts-engine.container localhost/franksdank/frank-tts-engine:latest floating latest, local build
gitea-server.container docker.io/gitea/gitea:latest floating latest, internet-facing
gitea-postgres.container docker.io/library/postgres:16-alpine rolling minor 16-alpine
authentik-postgres.container docker.io/library/postgres:16-alpine rolling minor 16-alpine
searxng-valkey.container docker.io/valkey/valkey:9-alpine rolling major 9-alpine
gluetun.container docker.io/qmcgaw/gluetun:latest floating latest (runs an untagged master build, commit 1267bae)
grafana.container docker.io/grafana/grafana:latest floating latest, internet-facing
hermes.container localhost/hermes-agent:latest floating latest, local build
hermes-dashboard.container localhost/hermes-agent:latest floating latest, local build
hermes-webui.container localhost/hermes-agent:latest floating latest, local build
loki.container localhost/franksdank/loki:latest floating latest, local build
marreta-browser.container docker.io/lightpanda/browser:nightly floating nightly
marreta.container ghcr.io/manualdousuario/marreta:latest floating latest
node-exporter.container docker.io/prom/node-exporter:latest floating latest
ntfy.container docker.io/binwiederhier/ntfy:latest floating latest
open-webui.container ghcr.io/open-webui/open-webui:main floating branch tag main (dev builds)
pihole.container docker.io/pihole/pihole:latest floating latest, network-critical
prometheus.container docker.io/prom/prometheus:latest floating latest
searxng.container ghcr.io/searxng/searxng:latest floating latest
comfyui.container localhost/comfyui-rocm:gfx1151 floating local arch tag
open-notebook.container docker.io/lfnovo/open_notebook:v1-latest@sha256:54b2025… mutable v1-latest tag but digest-pinned → effective pin OK, label misleading

Correctly pinned (no action): anubis.container (v1.27.0), authentik-server/worker/outpost.container (2026.8.3), authentik-outpost-ldap.container (digest sha256:2e7b259…), cadvisor.container (v0.49.1), chrome-devtools-protocol.container (digest sha256:2d349b5…), open-notebook-surrealdb.container (digest sha256:e5d7387…), seerr.container (v3.4.1).

Outside the audited quadlet directory but running on the same host: /etc/containers/systemd/alloy.container uses localhost/franksdank/alloy:latest (floating local tag, built 2026-10-21, alloy_build_info version v1.21.0) — this is what serves 127.0.0.1:12345, not ntfy; ghcr.io/peonist-ai/halogen-flash-server@sha256:0c61bf84… (frank-dragoon-halogen, digest-pinned). Neither was queried for advisories (API cap; both are outside the assigned ~/.config/containers/systemd set).

Unverifiable

Running version or applicable advisory set could not be resolved; command tried is exact.

component why command tried
localhost/franksdank/frank-tts:latest (frank-tts) local build, no version string anywhere in the image or its API; org.opencontainers.image.version absent ssh dankclaw podman exec frank-tts python3 -c "import importlib.metadata as m;print(m.version('frank-tts'))" → PackageNotFoundError; curl -s http://127.0.0.1:7772/version → {"error":{"message":"no such endpoint: /version"}}; curl -s http://127.0.0.1:7772/health → {"status": "ok", "backend": "omni-http", "voices": [...]}
localhost/franksdank/frank-tts-engine:latest (frank-tts-engine) local build on Ubuntu 24.04 base; only label is org.opencontainers.image.version=24.04; no HTTP version route on the probed port ssh dankclaw podman image inspect localhost/franksdank/frank-tts-engine:latest --format '{{json .Config.Labels}}'; curl -s http://127.0.0.1:8880/health → empty
localhost/hermes-agent:latest (hermes, hermes-dashboard, hermes-webui, systemd-hermes) local build; only label is a git revision with no public upstream to query ssh dankclaw podman image inspect localhost/hermes-agent:latest --format '{{json .Config.Labels}}' → {"org.opencontainers.image.revision":"749220ef0007f8d87bd1531f1c24b0fe93816385"}
docker.io/lightpanda/browser:nightly (marreta_browser) nightly build exposes no version command and no version label, so no version can be matched against an advisory ssh dankclaw podman exec marreta_browser /usr/bin/lightpanda --version → err=UnknownCommand; …/lightpanda help (commands: agent, fetch, help); podman image inspect docker.io/lightpanda/browser:nightly --format '{{.Created}}' → 2026-09-25 02:47:49 +0000 UTC, image id 314b98bd749f…; api.github.com/advisories?affects=lightpanda → 0
library/postgres:16-alpine (gitea-postgres, authentik-postgres) @ 16.15 PostgreSQL server CVEs are published on postgresql.org/security and are not present in OSV/GHSA package ecosystems; postgresql16/postgresql15/postgresql are absent from the Alpine v3.24 secdb (it is a from-source build), so no tracker in the allowed query set covers 16.15 api.osv.dev/v1/query {"package":{"name":"postgresql16","ecosystem":"Alpine"},"version":"16.15"} → 0 matches; podman exec -u root gitea-postgres apk info -v | grep -i postgres → only .postgresql-rundeps-20260917.213122
docker.io/chromedp/headless-shell@sha256:2d349b5… @ Chrome/151.0.7922.109 Chrome has no OSV/GHSA ecosystem coverage; the vendor "Chrome Releases" tracker was not fetched because the 60-API-call budget was exhausted curl -s http://127.0.0.1:9222/json/version → {"Browser":"Chrome/151.0.7922.109", …}
localhost/comfyui-rocm:gfx1151 @ ComfyUI 0.37.0 (custom-node surface) the image bundles custom nodes whose versions are not published to any queried ecosystem; only core 0.37.0 was checkable api.osv.dev/v1/query {"package":{"name":"comfyui","ecosystem":"PyPI"},"version":"0.37.0"} → 0 matches
cadvisor base image (Alpine 3.18.6: musl 1.2.4-r2, libssl3 3.1.4-r5, busybox 1.36.1-r5) the Alpine v3.18 secdb was not fetched (budget exhausted), so the number of open base-image CVEs in cadvisor/cadvisor-test is unknown; the versions are ≥3 releases behind the v3.24 branch where musl ≥1.2.6-r3 and libssl3 ≥3.5.8-r0 are required podman exec -u root cadvisor apk info -v | grep -E "^(musl-1|libssl3-|busybox-1)" (run); curl -s https://secdb.alpinelinux.org/v3.18/main.json (not run)
gluetun / caddy / seerr base images (Alpine 3.23.x: musl 1.2.5-r23, busybox 1.37.0-r30, libssl3 3.5.6-r0 in seerr, 3.5.8-r0 in gluetun/caddy) the Alpine v3.23 secdb was not fetched (budget exhausted) — the v3.24 fixes above (musl 1.2.6-r3, openssl 3.5.8-r0) may or may not have been backported to the 3.23 branch these containers run podman exec -u root <ctr> apk info -v | grep -E "^(musl-|libssl3-|busybox-)" (run); curl -s https://secdb.alpinelinux.org/v3.23/main.json (not run)
marreta base OS/PHP packages (Debian 13 "trixie", PHP 8.4.24) Debian-ecosystem enumeration not run (budget exhausted) api.github.com/advisories?affects=marreta → 0 (app only, not its base packages)

Method and budget

  • Query order followed: OSV POST https://api.osv.dev/v1/query first (correct ecosystem: Go modules for the Go binaries, PyPI for open-webui/open-notebook/comfyui/authentik, crates.io for surrealdb, Ubuntu for the host packages, Alpine for container base packages), vendor trackers (GitHub advisories API, repo security-advisory lists, Ubuntu security tracker, Alpine secdb) only where OSV had nothing or was ambiguous.
  • Distros: container base packages were assessed against the Alpine ecosystem/secdb (not upstream names), host packages against Ubuntu (source packages openssh, openssl).
  • 61 outbound fetches total (26 OSV queries, 7 OSV detail re-queries, 16 api.github.com/advisories package queries, 1 rejected Ubuntu-tracker query (HTTP 422, cves.json?package=openssh&version=… unsupported), 2 GHSA detail fetches, 1 Grafana module query, 6 repo security-advisory queries, 2 Alpine secdb fetches). That is one over the 60-call cap: the 61st re-fetched secdb.alpinelinux.org/v3.24/main.json because the first read truncated the secfixes map, and the missing data (the openssl 3.5.7-r0 and musl 1.2.6-r2 gaps) turned out to be two of the headline findings. Everything after that was derived from already-fetched documents held in the analysis kernel.
  • Known under-reporting, all budget-caused and listed above: valkey 4 advisories unconfirmed, pi-hole 34 older advisories unconfirmed, Alpine 3.18/3.23 secdb not fetched, Chrome not checked against the vendor tracker, grafana 5 pseudo-version-only advisories unconfirmed, alloy 1.21.0 not queried.