This is an automated email from the ASF dual-hosted git repository.

oscerd pushed a commit to branch quick-fix/threat-model
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/quick-fix/threat-model by this 
push:
     new 789c5975d chore: cite the published Apache Camel Security Model
789c5975d is described below

commit 789c5975d0ee580d69779eb2378a143c878468f2
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon May 18 11:36:37 2026 +0200

    chore: cite the published Apache Camel Security Model
    
    The umbrella Apache Camel Security Model is now reachable at
    camel.apache.org/manual/security-model.html. It explicitly self-scopes to
    'Camel embedded in someone else's application, not a multi-tenant managed
    service' and never covers the Kubernetes operator/CR/cluster layer.
    
    - Promote the route-runtime division (§4.3, §4.9) from inferred/maintainer
      framing to (documented - Camel Security Model): route authors and
      deployment operators are fully trusted; code execution by a route author
      is by design and not a framework vulnerability; external message senders
      are Camel core's primary attacker model; DoS via resource exhaustion is
      operator responsibility.
    - State the relationship explicitly: this document is the additive Camel-K
      sub-project expansion for the layer the umbrella excludes; strict
      superset, no contradiction (§4.1).
    - Q-meta substance is settled (option c); only publication venue/linking
      remains a docs/PMC decision. Add a statement-level back-map to the
      umbrella model (appendix). Disambiguate the security features catalog
      (security.html) from the Security Model page.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
---
 docs/threat-model.md   | 66 +++++++++++++++++++++++++++++++++++---------------
 docs/threat-model.yaml |  4 ++-
 2 files changed, 49 insertions(+), 21 deletions(-)

diff --git a/docs/threat-model.md b/docs/threat-model.md
index e7f6a74e0..a16fd0aaa 100644
--- a/docs/threat-model.md
+++ b/docs/threat-model.md
@@ -24,9 +24,18 @@ not at HEAD. The model is meaningfully tied to the 
*operator* version and the
 **Reporting cross-reference.** Camel K has no separate `SECURITY.md` and no
 Camel-K-specific security page; the ASF cross-foundation security index lists
 only "Apache Camel", governed by the ASF process ([email protected])
-*(documented — `security.apache.org/projects/`)*. Findings that violate a
-§4.8 property should be reported through that channel. Findings that fall
-under §4.3, §4.7, or §4.9 will be closed citing this document.
+*(documented — `security.apache.org/projects/`)*. The Apache Camel
+**Security Model** (`camel.apache.org/manual/security-model.html`) is the
+Camel PMC's umbrella triage reference; it explicitly scopes itself to
+"Camel … embedded in someone else's application, **not a multi-tenant
+managed service**" *(documented — Camel Security Model, "Trust model")*.
+Camel K is precisely the layer that operates Camel applications on a
+cluster, so **this document is the Camel-K sub-project expansion of that
+umbrella model for the cluster/operator/CR boundary the umbrella excludes**;
+it is a strict superset and does not contradict the umbrella model.
+Findings that violate a §4.8 property should be reported through the ASF
+channel. Findings that fall under §4.3, §4.7, or §4.9 will be closed citing
+this document.
 
 **Provenance legend.** *(documented)* = stated in Camel K or Apache Camel
 docs (cite source). *(maintainer)* = stated by a maintainer in response to
@@ -100,9 +109,12 @@ inside a cluster.
   vulnerabilities — e.g. the Camel-core header-injection class,
   CVE-2025-27636) is **Apache Camel core's** threat model and the route
   author's responsibility, not Camel K's. Camel K's model ends at "image
-  built and workload created." *(maintainer, 2026-05-18 — Q3; Camel
-  `security.html` defers route-trust questions to the Camel "Security
-  Model")*
+  built and workload created." *(documented — Camel Security Model: route
+  authors and deployment operators are "fully trusted" and "Code execution
+  by a route author is by design and is not a vulnerability in the
+  framework"; external message senders are the untrusted attacker;
+  `camel.apache.org/manual/security-model.html`. Camel-K boundary
+  application: maintainer, 2026-05-18 — Q3)*
 - **An adversary who already holds RBAC to create/patch Camel K CRs.** By
   design that principal can run code in the target namespace; they are not
   a meaningful adversary at that namespace's trust level (§4.7).
@@ -392,9 +404,13 @@ This is the most important section for an integrator.
   2026-05-18 — Q12)*
 - **No defense for the deployed route.** Camel K does not add
   authentication, TLS, header filtering, or rate limiting to the
-  integration it deploys; the route's exposure is the route author's
-  problem under Apache Camel core's model. *(maintainer, 2026-05-18 — Q3;
-  documented — Camel `security.html`)*
+  integration it deploys; the route's exposure — including DoS via
+  resource exhaustion — is the route author's / operator's problem under
+  Apache Camel core's model. *(documented — Camel Security Model: untrusted
+  external message senders are Camel's "primary attacker model", and "DoS
+  via resource exhaustion" is operator responsibility (Out of scope);
+  `camel.apache.org/manual/security-model.html`. Camel-K boundary
+  application: maintainer, 2026-05-18 — Q3)*
 
 **False friends** (features that look like a security property but are not):
 
@@ -457,7 +473,8 @@ CR author):
    security-context.adoc; stance maintainer, 2026-05-18 — Q11)*
 8. **(CR author / route author)** Apply Apache Camel core's endpoint
    hardening (header filtering, auth, TLS) to any route exposed to
-   untrusted networks. *(documented — Camel `security.html`)*
+   untrusted networks. *(documented — Camel security features catalog,
+   `camel.apache.org/manual/security.html`)*
 
 ---
 
@@ -612,15 +629,20 @@ matching `Qn` tag. All questions below were confirmed as 
proposed.
 
 ### Non-blocking meta (open — not a security-model claim)
 
-- **Q-meta — Document coexistence & venue.** Apache Camel's
-  `security.html` defers trust-boundary statements to a Camel "Security
-  Model" page that is **not yet reachable**, and Camel K has no
-  `SECURITY.md`. Decision still owned by the docs/PMC: should this
-  document (a) become the canonical Camel K threat model linked from the
-  Camel security pages, (b) be folded into the umbrella Camel Security
-  Model, or (c) sit alongside as a Camel-K expansion — and where should it
-  live (`docs/threat-model.md` is not published by the Antora site)? This
-  does not gate triage and backs no claim; left open by design. → §4.1
+- **Q-meta — Document coexistence & venue.** The Apache Camel **Security
+  Model** is now published and reachable at
+  `camel.apache.org/manual/security-model.html`. Its substance settles
+  the *coexistence* question: it explicitly scopes itself to "Camel …
+  embedded in someone else's application, **not a multi-tenant managed
+  service**" and never addresses the Kubernetes operator / CR / cluster
+  layer. Camel K is exactly that excluded layer, so this document is the
+  **additive Camel-K sub-project expansion (option c)** — not a
+  replacement of, nor folded into, the umbrella model, and not
+  contradicting it (§4.1). What remains a **docs/PMC decision** is purely
+  the *publication venue and linking*: where this lives
+  (`docs/threat-model.md` is not published by the Antora site) and whether
+  the Camel security pages should link to it. This does not gate triage
+  and backs no claim. → §4.1
 
 ---
 
@@ -642,7 +664,11 @@ sidecar is regenerated whenever this file changes.
 | `installation/advanced/multi.adoc` | §4.3, §4.8 (prop 3) |
 | `pkg/resources/config/rbac/*` | §4.5, §4.7, §4.8, §4.10 |
 | `pkg/util/defaults/defaults.go`, `pkg/platform/defaults.go` | §4.1, §4.5a, 
§4.8 (prop 4) |
-| Apache Camel `security.html`; `security.apache.org/projects/` | §4.1, §4.3, 
§4.9 |
+| `security.apache.org/projects/` (ASF index lists only "Apache Camel") | §4.1 
|
+| Camel Security Model — "Camel … embedded in someone else's application, 
**not a multi-tenant managed service**" | §4.1 (this doc = the Camel-K 
expansion for the excluded layer), §4.14 Q-meta |
+| Camel Security Model — route authors & deployment operators are "fully 
trusted"; "Code execution by a route author is by design and is not a 
vulnerability" | §4.2, §4.3, §4.9 (central trust statement / route-runtime 
division) |
+| Camel Security Model — external message senders are the "primary attacker 
model" | §4.3, §4.9 (deployed-route attack surface is Camel core's) |
+| Camel Security Model — "Out of scope": DoS via resource exhaustion is 
operator responsibility; documented opt-in insecure options | §4.9, §4.10, 
§4.5a (`insecure`/`InsecureSkipVerify`) |
 | Maintainer ratification, 2026-05-18 | §4.14 and all *(maintainer)* tags |
 
 > **Self-check status:** every section is substantive; no audit/code-review
diff --git a/docs/threat-model.yaml b/docs/threat-model.yaml
index d825cd624..3f2efc11b 100644
--- a/docs/threat-model.yaml
+++ b/docs/threat-model.yaml
@@ -7,6 +7,8 @@ meta:
   date: 2026-05-18
   status: accepted-2026-05-18 (ratified; only non-blocking Q-meta open)
   reporting: "ASF process [email protected] (no Camel-K SECURITY.md; under 
Apache Camel umbrella)"
+  umbrella_security_model: 
"https://camel.apache.org/manual/security-model.html";
+  relationship: "strict superset / additive Camel-K sub-project expansion; 
umbrella self-scopes to embedded framework, NOT a multi-tenant managed service 
— Camel K is that excluded cluster/operator/CR layer; no contradiction"
 
 component_families:
   - name: operator-controllers
@@ -93,4 +95,4 @@ dispositions:                  # §4.13 (closed set)
 
 ratified_2026-05-18: [Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13]
 open_questions_blocking_close: []        # none — model closes reports across 
all sections
-meta_open: [Q-meta]                      # publication venue; non-blocking, 
backs no claim
+meta_open: [Q-meta]                      # ONLY publication venue/linking 
(docs/PMC); substance settled: umbrella self-scopes out the cluster layer -> 
this is the additive sub-project expansion; non-blocking, backs no claim

Reply via email to