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.
This commit is contained in:
1 parent
ec9bf77b10
commit
27da5cd9ec
6 files changed
+1042
No files matched your search
@@ -0,0 +1,295 @@
|
||||
---
|
||||
type: reference
|
||||
title: Vulnerability pass — Dankclaw (2026-10-21)
|
||||
description: 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.
|
||||
tags:
|
||||
- security
|
||||
- vulnerability
|
||||
- dankclaw
|
||||
verified: 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.
|
||||
Reference in new issue
Block a user