From: "Theodore Ts'o" <tytso@mit.edu>
To: Matthew Wilcox <willy@infradead.org>
Cc: butt3rflyh4ck <butterflyhuangxx@gmail.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-fsdevel@vger.kernel.org,
syzkaller-bugs <syzkaller-bugs@googlegroups.com>
Subject: Re: A shift-out-of-bounds in minix_statfs in fs/minix/inode.c
Date: Thu, 22 Jul 2021 17:58:23 -0400 [thread overview]
Message-ID: <YPnp/zXp3saLbz03@mit.edu> (raw)
In-Reply-To: <YPhbU/umyUZLdxIw@casper.infradead.org>
On Wed, Jul 21, 2021 at 06:37:23PM +0100, Matthew Wilcox wrote:
> On Thu, Jul 22, 2021 at 01:14:06AM +0800, butt3rflyh4ck wrote:
> > ms = (struct minix_super_block *) bh->b_data; /// --------------> set
> > minix_super_block pointer
> > sbi->s_ms = ms;
> > sbi->s_sbh = bh;
> > sbi->s_mount_state = ms->s_state;
> > sbi->s_ninodes = ms->s_ninodes;
> > sbi->s_nzones = ms->s_nzones;
> > sbi->s_imap_blocks = ms->s_imap_blocks;
> > sbi->s_zmap_blocks = ms->s_zmap_blocks;
> > sbi->s_firstdatazone = ms->s_firstdatazone;
> > sbi->s_log_zone_size = ms->s_log_zone_size; // ------------------>
> > set sbi->s_log_zone_size
>
> So what you're saying is that if you construct a malicious minix image,
> you can produce undefined behaviour? That's not something we're
> traditionally interested in, unless the filesystem is one customarily
> used for data interchange (like FAT or iso9660).
It's going to depend on the file system maintainer. The traditional
answer is that block device is part of the Trusted Computing Base, and
malicious file system images are not considered part of the threat
model. A system adminstration or developer which allows potentially
malicious agents to mount file system agents are cray-cray.
Unfortunately, those developers are also known as "Linux desktop devs"
(who implement unprivileged mounts of USB cards) or "container
evangelists" who think containers should be treated as being Just As
Good as VM's From A Security Perspective.
So I do care about this for ext4, although I don't guarantee immediate
response, as it's something that I usually end up doing on my own
time. I do get cranky that Syzkaller makes it painful to extract out
the fuzzed file system image, and I much prefer those fuzzing systems
which provide the file system image and the C program used to trigger
the failre as two seprate files. Or failing that, if there was some
trivial way to get the syzkaller reproducer program to disgorge the
file system image to a specified output file. As a result, if I have
a choice of spending time investigating fuzzing report from a more
file-system friendly fuzzing program and syzkaller, I'll tend choose
to spend my time dealing with other file system fuzzing reports first.
The problem for Minix is that it does not have an active maintainer.
So if you submit fuzzing reports for Minix, it's unlikely anyone will
spend time working on it. But if you submit a patch, it can go in,
probably via Andrew Morton. (Recent Minix fixes that have gone in
this way: 0a12c4a8069 and 32ac86efff9)
Cheers,
- Ted
next prev parent reply other threads:[~2021-07-22 21:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-21 17:14 A shift-out-of-bounds in minix_statfs in fs/minix/inode.c butt3rflyh4ck
2021-07-21 17:37 ` Matthew Wilcox
2021-07-21 19:14 ` Darrick J. Wong
2021-07-22 2:43 ` butt3rflyh4ck
2021-07-22 2:52 ` Matthew Wilcox
2021-07-22 8:09 ` Dan Carpenter
2021-07-22 21:58 ` Theodore Ts'o [this message]
2021-07-22 22:34 ` Randy Dunlap
2021-07-23 9:22 ` Christian Brauner
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=YPnp/zXp3saLbz03@mit.edu \
--to=tytso@mit.edu \
--cc=butterflyhuangxx@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=syzkaller-bugs@googlegroups.com \
--cc=willy@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox