From: Jan Beulich <jbeulich@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
George Dunlap <George.Dunlap@citrix.com>,
Daniel Smith <dpsmith@apertussolutions.com>,
Julien Grall <julien@xen.org>,
Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound event channels"
Date: Fri, 17 May 2024 09:04:59 +0200 [thread overview]
Message-ID: <e75ca24e-12fe-44ac-9c67-bcc222ac8752@suse.com> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2405161806560.2544314@ubuntu-linux-20-04-desktop>
On 17.05.2024 03:21, Stefano Stabellini wrote:
> On Thu, 16 May 2024, Jan Beulich wrote:
>> 1) In the discussion George claimed that exposing status information in
>> an uncontrolled manner is okay. I'm afraid I have to disagree, seeing
>> how a similar assumption by CPU designers has led to a flood of
>> vulnerabilities over the last 6+ years. Information exposure imo is never
>> okay, unless it can be _proven_ that absolutely nothing "useful" can be
>> inferred from it. (I'm having difficulty seeing how such a proof might
>> look like.)
>
> Many would agree that it is better not to expose status information in
> an uncontrolled manner. Anyway, let's focus on the actionable.
>
>
>> 2) Me pointing out that the XSM hook might similarly get in the way of
>> debugging, Andrew suggested that this is not an issue because any sensible
>> XSM policy used in such an environment would grant sufficient privilege to
>> Dom0. Yet that then still doesn't cover why DomU-s also can obtain status
>> for Xen-internal event channels. The debugging argument then becomes weak,
>> as in that case the XSM hook is possibly going to get in the way.
>>
>> 3) In the discussion Andrew further gave the impression that evtchn_send()
>> had no XSM check. Yet it has; the difference to evtchn_status() is that
>> the latter uses XSM_TARGET while the former uses XSM_HOOK. (Much like
>> evtchn_status() may indeed be useful for debugging, evtchn_send() may be
>> similarly useful to allow getting a stuck channel unstuck.)
>>
>> In summary I continue to think that an outright revert was inappropriate.
>> DomU-s should continue to be denied status information on Xen-internal
>> event channels, unconditionally and independent of whether dummy, silo, or
>> Flask is in use.
>
> I think DomU-s should continue to be denied status information on
> Xen-internal event channels *based on the default dummy, silo, or Flask
> policy*. It is not up to us to decide the security policy, only to
> enforce it and provide sensible defaults.
>
> In any case, the XSM_TARGET check in evtchn_status seems to do what we
> want?
No. XSM_TARGET permits the "owning" (not really, but it's its table) domain
access. See xsm_default_action() in xsm/dummy.h.
Jan
> evtchn_send uses XSM_HOOK, which is weaker, but it doesn't seem to be an
> issue because (ignoring the consumer_is_xen check) there is a if(!lchn)
> check that would fail on invalid event channels?
next prev parent reply other threads:[~2024-05-17 7:05 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-02 17:06 [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound event channels" Andrew Cooper
2024-04-03 6:16 ` Jan Beulich
2024-04-03 6:52 ` Jan Beulich
2024-04-03 11:50 ` Daniel P. Smith
2024-04-03 11:54 ` Jan Beulich
2024-04-03 13:31 ` Daniel P. Smith
2024-04-04 8:11 ` Jan Beulich
2024-04-03 11:10 ` Daniel P. Smith
2024-04-03 12:05 ` Jan Beulich
2024-04-03 13:27 ` Daniel P. Smith
2024-04-04 7:57 ` Jan Beulich
2024-04-05 5:59 ` Jan Beulich
2024-05-14 9:25 ` Jan Beulich
2024-05-14 9:51 ` Andrew Cooper
2024-05-14 10:03 ` Jan Beulich
2024-05-14 11:13 ` Julien Grall
2024-05-14 21:35 ` Stefano Stabellini
2024-05-15 7:33 ` Jan Beulich
2024-05-16 19:15 ` Oleksii K.
2024-05-17 7:01 ` Jan Beulich
2024-05-15 10:49 ` Kelly Choi
2024-05-15 12:59 ` George Dunlap
2024-05-16 6:41 ` Jan Beulich
2024-05-17 1:21 ` Stefano Stabellini
2024-05-17 7:04 ` Jan Beulich [this message]
2024-05-17 20:28 ` Stefano Stabellini
2024-05-21 6:17 ` Jan Beulich
2024-05-22 1:33 ` Stefano Stabellini
2024-05-17 1:22 ` Daniel P. Smith
2024-05-17 7:24 ` Jan Beulich
2024-04-03 13:35 ` Daniel P. Smith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e75ca24e-12fe-44ac-9c67-bcc222ac8752@suse.com \
--to=jbeulich@suse.com \
--cc=George.Dunlap@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=dpsmith@apertussolutions.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.