From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Christian Schoenebeck <qemu_oss@crudebyte.com>
Cc: Greg Kurz <groug@kaod.org>,
qemu-devel@nongnu.org, qemu-stable@nongnu.org
Subject: Re: [PATCH] hw/9pfs: mutate FID path from main thread only (CVE-2026-93834)
Date: Wed, 23 Sep 2026 09:15:04 +0100 [thread overview]
Message-ID: <arOKiMszxR-k_7AS@redhat.com> (raw)
In-Reply-To: <3717038.iIbC2pHGDl@weasel>
On Tue, Sep 22, 2026 at 05:10:58PM +0200, Christian Schoenebeck wrote:
> On Tuesday, 22 September 2026 14:30:53 CEST Daniel P. Berrangé wrote:
> > On Tue, Sep 22, 2026 at 08:13:01AM +0200, Greg Kurz wrote:
> > > On Mon, 21 Sep 2026 14:18:58 +0200
> > >
> > > Christian Schoenebeck <qemu_oss@crudebyte.com> wrote:
> > > > v9fs_co_open2() is the only code that mutates a FID path from a worker
> > > > thread: inside its v9fs_co_run_in_worker() block it frees fidp->path
> > > > and copies in the new path under the held FID path write lock.
> > > >
> > > > Every other FID path mutation in the 9p codebase happens on the main
> > > > thread, so main thread readers (v9fs_walk(), v9fs_xattrwalk(),
> > > > v9fs_stat(), v9fs_co_name_to_path()) rely on the same (main) thread
> > > > atomicity and don't take the path read lock themselves on main thread.
> > > >
> > > > Fix this by making the worker thread block in v9fs_co_open2() read-only
> > > > with respect to the FID: render the new path into the local 'path'
> > > > variable only and copy it to fidp->path after the worker block returned
> > > > back to the main thread and still under the held write lock of the FID,
> > > > like every other FID path mutation does.
> > > >
> > > > Fixes: 02cb7f3a25 ("hw/9pfs: Use read-write lock for protecting fid
> > > > path.")
> > >
> > > Wow, it's a long standing issue ! ;-)
> > >
> > > > Fixes: CVE-2026-93834
> > >
> > > Cannot find it... embargoed ?
> > >
> > > > Reported-by: Milad Nasr <https://gitlab.com/sirkhezr>
> > > > Suggested-by: Milad Nasr <https://gitlab.com/sirkhezr>
> > > > Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4491
> > >
> > > Cannot find that either...
> >
> > Initially confidential, so only visible to maintainers with acccounts
> > added to the gitlab project. Bugs should be made public when their
> > patch is posted for review, so I've turned off the confidential flag
> > now.
>
> Strange policies. I would have:
>
> - Added Greg (reviewer and previous 9p maintainer for years) to the report
> while it was still private. Instead I am the only one getting LLM generated
> security reports thrown at me.
While we primarily only intend to add people in the MAINTAINERS file
to the gitlab project, given Greg's long term involvement in QEMU I
see no problem with adding him as a member in gitlab, which would
allow for viewing all confidential bugs.
Greg, just ask one of the project owners listed:
https://gitlab.com/qemu-project/qemu/-/project_members?max_role=static-50
to add your gitlab account
> - Considering the severeness of the vulnerability, I would have waited for the
> patch been pushed through stable branches before making the full report
> public, or at least until merged on git.
Once a patch is posted on the public mailing list, we consider the
flaw to be public. Both the code and patch description provide
sufficient info about the flaw that keeping the bug private is a
false sense of protection. So it is documented that the confidential
flag is to be removed when posting to qemu-devel:
https://www.qemu.org/contribute/security-process/
If a maintainer really wants additional code review before a bug is
made public, then best to do that via private email, or the issue
tracker, as best fits the situation.
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
next prev parent reply other threads:[~2026-09-23 8:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 12:18 [PATCH] hw/9pfs: mutate FID path from main thread only (CVE-2026-93834) Christian Schoenebeck
2026-09-22 6:13 ` Greg Kurz
2026-09-22 12:30 ` Daniel P. Berrangé
2026-09-22 15:10 ` Christian Schoenebeck
2026-09-23 8:06 ` Christian Schoenebeck
2026-09-23 8:15 ` Daniel P. Berrangé [this message]
2026-09-23 9:00 ` Christian Schoenebeck
2026-09-22 15:09 ` Christian Schoenebeck
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=arOKiMszxR-k_7AS@redhat.com \
--to=berrange@redhat.com \
--cc=groug@kaod.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
--cc=qemu_oss@crudebyte.com \
/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.