From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 2D40D61A0; Tue, 21 Jul 2026 16:05:14 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 39B7460F5; Tue, 21 Jul 2026 16:05:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fhigh-a7-smtp.messagingengine.com (fhigh-a7-smtp.messagingengine.com [103.168.172.158]) by atuin.qyliss.net (Postfix) with ESMTPS id 03FCF60F2 for ; Tue, 21 Jul 2026 16:05:10 +0000 (UTC) Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id F2441140013E; Tue, 21 Jul 2026 12:05:08 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Tue, 21 Jul 2026 12:05:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1784649908; x=1784736308; bh=PlkPgoQNkY 6kvPQ2aDCT/MLCR49HScOdW4IDuTuA8EQ=; b=iyduIUByT8sMUA/sLgs2TPFATH ebjBV7FMV08Z5w5mqLP5kKFmQiUO6gmwqkWqujTry8ARhY7WFPBJ4GnuDB5B5yE3 Bi+925h54XibzrULBWdwMvBfpDsx9CtsMj6izeVGCvzShiJZ3MpSm//wAo0JA4Cn eUsKhMkLaaNeDw7+VEG/yJBuKxtHIm2m9PWaOJc7Oe3a5v+zH3ZmY2bD5/SiKiYx wuUmpeCAiHdW5oVhHt9yxxURwDKoDxdO9T/SUcmTdRuuzRMNJICluk2pAax6K6WL 7jZ+BUqgpruxd/PoT+K0Nxr2tzoiFP2MKWXnxk7Q7AQ0jY6gvOqkSe9H+WBw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1784649908; x=1784736308; bh=PlkPgoQNkY6kvPQ2aDCT/MLCR49HScOdW4I DuTuA8EQ=; b=biOfsQV0wCudNb6IPMCiFiB+eXujilBsOl4HbLE3Ivh+YrgUDn4 OB5qV5GxbxrRFzrpoBnG4QNteK04u3uuN0dc/5vWA1MDbzv2NsIa2JPRvlerIXFl xjhPTYB3FDvEZN4816qjKPTJJzoAgunlpFihSqvbbLp6Di9EIyNhuKTIABx8shZ7 nP/lveSLomYx7Sxt6HyOZ2VkSqHb3umj4VFCTHsPLQiUndr83ZV7KMUuMhK1/GTY Ajur+6uhlXYcw8yYPZdybZ9cAZk9cZTwxuEmVjaX064aklSt9TGcrfxCFLVroO4v ZBmNfun44BpagxA0em0eklVZAcsNNlrrr4A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTF9pWJmUW6p2maJudcbbt4orB+n+hR01H1fSZKSgNVEp4ZSmJOeKz7dEFsbDil7kr 1PjaqvZRZSo2POMm6HkN7nAKQn1ZdbHsdw00ITsj8vlOlF3bfKN6OgkukWD+vusrD/NRO5 lik8lwQ0Awxlr4M5apNV05hapn0TPdbDTZGjgQ+TczdXzmX9Rnu7JME7c3tab1Fqc4OzKu s19AJL26ZorQ4ucJLJvW7o+l07nUgtSveF0otZX4sCQ4wxg6KVnSiDF01PtJuVxyNYkN8h w4H7FqsxRQRAr2FNjOkdBzNt3aQ3rVZE3iZbsUvVio+EUezCMesDZBVAuIXjbj2GuP1WZj t27BieoXlqKxSD70EWVydFypNKwD6fvnQWDerqvNfssugUSesVX1KcKej9tD/f25iojj76 4GYtjPUKkrEpaB6zzcc5xL+jl69UpeLQwTpLF0skCY1OHyzXCTcNbGdjUeGtv4LDcAMY+j btf1WbxKADhdHMGfeZM9jaGnH8RDkgm4X301ai+hbXZPmRM3pHerIkGzMznU6TAzi92uqW IVVD27JbrZXxXpVQwqtItAFeTwfTUdJdptwm0nOqvGUPFUsfeBY8wpCAgas89eT6Qxq42l 3FOUO2X8px5PgCgoyrYTPSSb6l6rCvq49dg0rgi63Cklzliy37UcNgifpEew X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 21 Jul 2026 12:05:08 -0400 (EDT) Received: by mbp.qyliss.net (Postfix, from userid 1000) id 337998964434; Tue, 21 Jul 2026 18:05:07 +0200 (CEST) From: Alyssa Ross To: Demi Marie Obenour Subject: Re: Why is /run/vm/by-id/${VM} writable by the VMM? In-Reply-To: References: <87ech71crf.fsf@alyssa.is> <0d8076ca-dd4d-42c2-9806-0f78841ae397@gmail.com> <8733xkqe22.fsf@alyssa.is> Date: Tue, 21 Jul 2026 18:05:06 +0200 Message-ID: <87se5cl45p.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: PKOKQTKDZB276247X6A5SDAZZCHRHWHI X-Message-ID-Hash: PKOKQTKDZB276247X6A5SDAZZCHRHWHI X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Spectrum OS Development X-Mailman-Version: 3.3.10 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Demi Marie Obenour writes: > On 7/15/26 14:54, Alyssa Ross wrote: >> Demi Marie Obenour writes: >>=20 >>> On 7/13/26 05:04, Alyssa Ross wrote: >>>> Demi Marie Obenour writes: >>>> >>>>> This seems to be a fairly significant hole in the VMM's sandbox. >>>>> Various code operates in that directory and isn't secure against >>>>> symlink attacks. >>>>> >>>>> Does the VMM really need write access to that directory? Could it >>>>> be given access to a subdirectory that is mounted "nosymfollow"? >>>> >>>> I think it's just so it can create e.g. the serial file. That could >>>> indeed be moved to a subdirectory. The ideal solution is of course for >>>> Cloud Hypervisor to be able to accept every file it would otherwise >>>> create as an open file descriptor, which I expect will happen >>>> eventually. >>> >>> Should it be moved to a subdirectory for now? That would make the >>> sandbox meaningful in practice. >>=20 >> I suppose it could be. Might make more sense to dedicate efforts >> towards fixing Cloud Hypervisor to accept file descriptors for the ~2 >> paths it currently needs to create, though. (That's obviously more >> work, but also more useful.) If we were to work around this in >> Spectrum, we could keep symlinks outside the directory pointing into it, >> to keep paths nice and avoid churn once we can put them back in the >> parent directory. > > Do you happen to know which paths these are? I think it might just be "serial"? Not sure. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRV/neXydHjZma5XLJbRZGEIw/wogUCal+YsgAKCRBbRZGEIw/w orGsAP9gxjUsHepwitzB5GWzW92tZGTCG0jr8ZlJkCQTJJkSxQEA7iJlN6NTi2oV vnBNEJ1yP0Foivs4urSzhgukD6ubWAs= =3/0N -----END PGP SIGNATURE----- --=-=-=--