RISK-F-0016: first grading and 2026-10-14 scanner refresh

Grade low (I2 x L1, same at production), disclosure public, escalation
none. Record the unchanged f239 rescan (0 CRITICAL, 44 HIGH, 8 CVEs, no
fixed versions), move fix tracking to USER-WP-0038-T01, record the
ungraded rollback-image constraint, and note the pending (not accepted)
renewal infd-20261014-user-engine-risk-renewal-r1 ahead of the
2026-10-18T23:59:59Z disposition expiry. Check recorded as moved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 680842@bnt-lap001
Assistant-Session: 54eb9e8e-7d6b-4f0c-b7a6-a6db62075883
This commit is contained in:
tegwick 2026-10-14 09:33:27 +02:00
parent c2b3a9e679
commit 00c355d0c1
2 changed files with 90 additions and 3 deletions

View file

@ -1,13 +1,14 @@
# Register
Generated by `tools/register_index.py` from `findings/`. Do not edit by hand. Last built 2026-10-04.
Generated by `tools/register_index.py` from `findings/`. Do not edit by hand. Last built 2026-10-14.
6 live of 15 findings; 3 notes below the floor.
7 live of 16 findings; 3 notes below the floor.
## Findings
| ID | Finding | System | Severity | Disclosure | Escalation | Fix owner | Status | Cadence | Next check |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [RISK-F-0016](findings/RISK-F-0016-user-engine-os-runtime-findings.md) | Published User Engine readback candidate retains 44 scanner HIGH OS occurrences | user-engine | low | public | none | user-engine | open | instant (0) | **due** |
| [RISK-F-0015](findings/RISK-F-0015-emergent-claude-owner-routing.md) | Retained Claude 0.2.1 answers misroute model-switch and zones questions | emergent-security | low | public | none | emergent-security | open | instant (0) | **due** |
| [RISK-F-0014](findings/RISK-F-0014-emergent-loaded-withdrawal-snapshot.md) | Loaded Emergent 0.2.1 continues serving a source after withdrawal and reseal | emergent-security | low | public | none | emergent-security | open | instant (0) | **due** |
| [RISK-F-0013](findings/RISK-F-0013-emergent-unsealed-card-receipt.md) | Loaded Emergent 0.2.1 returns unsealed card bytes under the reviewed digest | emergent-security | medium | public | none | emergent-security | open | instant (0) | **due** |
@ -30,6 +31,7 @@ Hazards created by acting in the wrong order. Each binds another finding's remed
| From | Binds | Severity | Constraint |
| --- | --- | --- | --- |
| RISK-F-0016 | — | **ungraded** | On the approved rollback to user-engine@sha256:312dcb06 — executing it (default if the renewal is not answered) restores an image that scans worse: 3 CRITICAL, 88 HIGH, 27 HIGH/CRITICAL CVEs (2026-10-14). Its exposure is unassessed; rollback must not be read as lowering this risk. |
| RISK-F-0002 | RISK-F-0001 | **lifted** | LIFTED 2026-08-19 — flex-auth /v1/check now authenticates callers (RISK-F-0001 fixed). Enabling policy.enabled is now an availability question for ops-warden, no longer an attestation hazard. |
## Waiting on someone

View file

@ -9,7 +9,25 @@ date_reported: "2026-10-11"
system: user-engine
environment: build
fix_owner: user-engine
fix_tracking: RAPP-USER-ENGINE-WP-0004
fix_tracking: USER-WP-0038-T01
closure_condition: "a remediated User Engine image from USER-WP-0038-T01, scanned unsuppressed without these HIGH occurrences, is rolled out under its own scoped approval and verified live"
severity: low
severity_at_production: low
impact: I2
likelihood: L1
fidelity_modifier: false
production_rescore: false
disclosure: public
escalation: none
constraint_severity: ungraded
constraint: "On the approved rollback to user-engine@sha256:312dcb06 — executing it (default if the renewal is not answered) restores an image that scans worse: 3 CRITICAL, 88 HIGH, 27 HIGH/CRITICAL CVEs (2026-10-14). Its exposure is unassessed; rollback must not be read as lowering this risk."
graded_by: risk-nexus
ruling: "RISK-F-0016 register ruling 2026-10-14"
checked_by: "claude/risk-nexus"
last_checked: "2026-10-14T07:33:04Z"
next_check: "2026-10-14T07:33:04Z"
cadence: instant
clean_streak: 0
---
Exact image forgejo.coulomb.social/coulomb/user-engine@sha256:f239bbf332b8eb87320c86390fddca1dcb4f7c628a7af75e79dee8058d446a7b has 44 Trivy HIGH package/CVE occurrences across eight unique CVEs and zero CRITICAL. No FixedVersion is advertised for those scanned Trixie packages; upstream/Sid fixes do exist. Scan SHA256 17b793f13bd19fa87bba840ced3c9c40a78a78feda569019e92c347dc7f3e76a, no severity suppression or ignore-unfixed. Source image revision1bb7cacc98479f56f6b1c28c000479efd260a944; native CI repair ac8b04edc7ae51492ee2e19e1ff075cf37e6708b passed without runtime input changes.
@ -37,3 +55,70 @@ ServiceAccount/audience and do not establish credential isolation.
Original preparation statement above remains historical. Execution/review
receipts: rapp-user-engine/docs/evidence/2026-10-11-native-readback and
NetKingdom docs/evidence/2026-10-11-user-readback-integration-review.
## Register ruling — 2026-10-14
**First grading.** Headline **low**, `I2` x `L1`, no fidelity modifier; the
same grade at production, so no mandatory production re-score.
- **Impact `I2`.** Every one of the eight CVEs is a local-utility, privileged
workflow or crafted-input issue in OS packages inside one container
(util-linux mount/nsenter, libacl1, ncurses `infocmp`, libsystemd0, perl-base
Archive::Tar). An occurrence is confined to the User Engine pod: denial of
service or local misuse of one system, recoverable. Application compromise
and mounted-credential exposure are not created by these packages and are
not scored here. No false record is produced, so no modifier.
- **Likelihood `L1`.** Reaching any of them first needs code execution inside
the pod, a foothold no ordinary process grants; no reviewed route invokes the
affected utilities, and non-root, no-new-privileges, dropped capabilities and
read-only root constrain the setuid/namespace paths. Exposure is "not
established" and the grade declines with the reporter rather than assuming
either reachability or impossibility.
- **Production.** Real identity data would not change the reach, and the
occurrence stays confined to one system; `low` holds.
- **What would change the grade:** a reviewed path by which a request reaches
an affected package, a published exploit for one of these CVEs, a new
CRITICAL on f239, or loss of any of the stated container controls.
**Disclosure `public`.** The CVEs and package versions are public advisories;
the text gives no foothold and does not shorten the path beyond scanning the
image. Build-mode default applies.
**Escalation `none`.** No real tenant data (trigger 1), no outside obligation
(2), no spend (3), no ownership dispute (4), not stalled (5). The founder's
decision on the temporary disposition is already routed by the owner as an
informed decision; asking again through the register would make the founder the
queue.
**Constraint.** The rollback named as the default if the renewal is not answered
restores sha256:312dcb06…, which on 2026-10-14 scans 3 CRITICAL, 88 HIGH, 27
HIGH/CRITICAL CVEs. Its exposure is not assessed here, so the constraint is
recorded ungraded; it must not be read as a lower-risk recovery.
## Scanner refresh and fix routing — 2026-10-14
rapp-user-engine re-scanned the exact live image f239 with the same pinned Trivy
(DB updated 2026-10-14T01:19Z, remote source, no suppression or
ignore-unfixed): 0 CRITICAL, 44 HIGH, the identical eight CVEs, none with a
fixed version (perl-base `fix_deferred`). Live Deployment unchanged: generation
73 observed, Ready 1, image f239. Receipts:
rapp-user-engine/docs/evidence/2026-10-14-risk-review/ (README.md,
review-receipt.json).
Fix tracking moves from RAPP-USER-ENGINE-WP-0004 (closing) to the durable owner
record USER-WP-0038-T01
(user-engine/workplans/USER-WP-0038-runtime-image-os-package-hardening.md):
prune or replace the affected OS packages with tests, provenance and an
unsuppressed scan. The remediated image needs its own scoped rollout approval.
The temporary human disposition infd-20261011-user-engine-readback-r2@1 still
expires 2026-10-18T23:59:59Z. A renewal memo,
infd-20261014-user-engine-risk-renewal-r1 (to the earlier of 2026-11-15T23:59:59Z
or the remediated rollout, weekly rescans), is being submitted for the founder's
answer. **It is not accepted and this register does not record it as
accepted.** The next check must confirm, no later than 2026-10-18T23:59:59Z,
either the founder's answer to the renewal or the executed rollback.
## Reviews
- **2026-10-14** — not clean: first grading (low, I2 x L1, public, no escalation); 2026-10-14 rescan of f239 unchanged at 0 CRITICAL / 44 HIGH, 8 CVEs, no fixed versions; fix tracking moved to USER-WP-0038-T01; disposition expires 2026-10-18T23:59:59Z, renewal infd-20261014-user-engine-risk-renewal-r1 pending founder answer, not accepted. Cadence instant → instant; checked again immediately.