[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RFC: Promote FLASK XSM Module to Supported in SUPPORT.md


  • To: "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 9 Nov 2026 10:32:28 +0100
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:From:Content-Language:References:Cc:To:Subject:User-Agent:MIME-Version:Date:Message-ID"
  • Autocrypt: addr=jbeulich@xxxxxxxx; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL
  • Cc: Teddy Astie <teddy.astie@xxxxxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 09 Nov 2026 09:32:50 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 06.11.2026 17:19, Daniel P. Smith wrote:
> Greetings,
> 
> This RFC is intended to start a dialogue following the discussion on the 
> November Xen Community Call. It proposes changing the status of the 
> FLASK XSM Module (the implementation in `xen/xsm/flask`) from 
> Experimental to Supported in SUPPORT.md, while leaving the FLASK default 
> policy Experimental.
> 
> ### Background: XSA-77 and disaggregation guidance
> 
> XSA-77 ("Disaggregated domain management security status") documented 
> that the majority of management hypercalls (most `XEN_DOMCTL_*` subops, 
> all of `__HYPERVISOR_sysctl`, certain memory operations, etc.) were 
> originally written only for fully-privileged dom0 and had not been 
> reviewed for exposure to semi-privileged, potentially hostile callers.
> 
> When XSM/FLASK is used to delegate those interfaces, a compromised 
> management domain may be able to cause host-wide denial of service or 
> privilege escalation. The security team’s policy (codified in “Security 
> Status of dom0 disaggregation” section of `docs/misc/xsm-flask.txt`) is 
> that, until the interfaces are reviewed, bugs that merely reduce the 
> security of a radically disaggregated system to that of a 
> non-disaggregated one will be handled as ordinary public bugs rather 
> than under the normal security embargo process. Only a small set of 
> subops are treated as safe for disaggregation; the remainder listed in 
> that section remain covered by the XSA-77 stance.
> 
> SUPPORT.md currently reflects this distinction and the XSA-77 caveat for 
> FLASK.
> 
> ### Current status and the case for change
> 
> Today, SUPPORT.md divides XSM support between "XSM Framework", "FLASK 
> XSM Module", "FLASK default policy", and "SILO XSM Module", where "XSM 
> Framework" and "SILO XSM Module" are marked as Supported, and "FLASK XSM 
> Module" and "FLASK default policy" are marked Experimental.
> 
> The core concern behind XSA-77 is that it has not been demonstrated 
> which fine-grained operation delegations can be done safely. The 
> documentation provides guidance on “safe”/covered interfaces precisely 
> because of that gap. At its heart, this concern is a policy- and 
> configuration-level issue.
> 
> Marking the code, "FLASK XSM Module", Experimental primarily because a 
> user could write an insecure custom policy feels inconsistent.

My recollection is a different one: There were concerns over code quality.
For example I seem to recall concerns over there being memory leaks. As a
result I further recall that the security team said that a full code audit
may be necessary to actually address those concerns. To possibly soften
this some, that concern may, to a degree, have been driven by the large
number of style violations in that part of the code base.

At the same time, yes, code and what can be done with it by careless
writing of policies want separating. This looks to be suitably reflected
in your proposed wording change ...

> ### FLASK XSM Module
> 
>      Status: Supported
> 
> Compile time disabled by default.
> 
> Using FLASK to delegate various domain control hypercalls
> to particular other domains, rather than only permitting use by dom0,
> remains specifically excluded from security support for many hypercalls.
> Please see XSA-77 and the guidance in docs/misc/xsm-flask.txt
> for more details. The Supported status of this module reflects the
> maturity of the implementation in xen/xsm/flask; any security guarantees
> for a particular policy configuration are the responsibility of the
> policy author.

... here.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.