All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: "linaro-kernel@lists.linaro.org" <linaro-kernel@lists.linaro.org>,
	Kees Cook <keescook@chromium.org>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"arndb@arndb.de" <arndb@arndb.de>,
	Deepak Saxena <dsaxena@linaro.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v6 2/6] arm64: ptrace: allow tracer to skip a system call
Date: Tue, 2 Sep 2014 10:31:22 +0100	[thread overview]
Message-ID: <20140902093121.GL30401@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20140902091622.GK30401@n2100.arm.linux.org.uk>

On Tue, Sep 02, 2014 at 10:16:22AM +0100, Russell King - ARM Linux wrote:
> On Tue, Sep 02, 2014 at 05:47:29PM +0900, AKASHI Takahiro wrote:
> > On 09/01/2014 08:47 PM, Russell King - ARM Linux wrote:
> >> On Wed, Aug 27, 2014 at 02:55:46PM +0900, AKASHI Takahiro wrote:
> >>> 1)
> >>> setting x0 to -ENOSYS is necessary because, otherwise, user-issued syscall(-1) will
> >>> return a bogus value when audit tracing is on.
> >>>
> >>> Please note that, on arm,
> >>>                   not traced      traced
> >>>                   ------          ------
> >>> syscall(-1)      aborted         OOPs(BUG_ON)
> >>> syscall(-3000)   aborted         aborted
> >>> syscall(1000)    ENOSYS          ENOSYS
> >>
> >> Two points here:
> >>
> >> 1. You've found a case which causes a BUG_ON().  Where is the bug report
> >>     for this, so the problem can be investigated and resolved?
> >
> > I think that I mentioned it could also happen on arm somewhere in a talk
> > with Will, but don't remember exactly when.
> 
> Sorry, not good enough.  Please report this bug so it can be investigated
> and fixed.

I'm going to go further than this, and tell you that you have been
downright irresponsible here, and I'm disgusted by your behaviour over
this.

You have revealed a potential security problem publically, effectively
giving details about how to cause it, but without having first reported
it to people who can fix it, nor providing a fix for it.

Why is it a security problem?  Although it can't be used to gain
information, it can be used potentially to deny service.  Any user can
trace a task which they own, and then set the task's syscall to -1,
which according to you results in a kernel oops.

If the kernel oops happens while holding any locks, that part of the
system becomes non-functional and can result in all userland stopping
dead.

-- 
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.

WARNING: multiple messages have this Message-ID (diff)
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 2/6] arm64: ptrace: allow tracer to skip a system call
Date: Tue, 2 Sep 2014 10:31:22 +0100	[thread overview]
Message-ID: <20140902093121.GL30401@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20140902091622.GK30401@n2100.arm.linux.org.uk>

On Tue, Sep 02, 2014 at 10:16:22AM +0100, Russell King - ARM Linux wrote:
> On Tue, Sep 02, 2014 at 05:47:29PM +0900, AKASHI Takahiro wrote:
> > On 09/01/2014 08:47 PM, Russell King - ARM Linux wrote:
> >> On Wed, Aug 27, 2014 at 02:55:46PM +0900, AKASHI Takahiro wrote:
> >>> 1)
> >>> setting x0 to -ENOSYS is necessary because, otherwise, user-issued syscall(-1) will
> >>> return a bogus value when audit tracing is on.
> >>>
> >>> Please note that, on arm,
> >>>                   not traced      traced
> >>>                   ------          ------
> >>> syscall(-1)      aborted         OOPs(BUG_ON)
> >>> syscall(-3000)   aborted         aborted
> >>> syscall(1000)    ENOSYS          ENOSYS
> >>
> >> Two points here:
> >>
> >> 1. You've found a case which causes a BUG_ON().  Where is the bug report
> >>     for this, so the problem can be investigated and resolved?
> >
> > I think that I mentioned it could also happen on arm somewhere in a talk
> > with Will, but don't remember exactly when.
> 
> Sorry, not good enough.  Please report this bug so it can be investigated
> and fixed.

I'm going to go further than this, and tell you that you have been
downright irresponsible here, and I'm disgusted by your behaviour over
this.

You have revealed a potential security problem publically, effectively
giving details about how to cause it, but without having first reported
it to people who can fix it, nor providing a fix for it.

Why is it a security problem?  Although it can't be used to gain
information, it can be used potentially to deny service.  Any user can
trace a task which they own, and then set the task's syscall to -1,
which according to you results in a kernel oops.

If the kernel oops happens while holding any locks, that part of the
system becomes non-functional and can result in all userland stopping
dead.

-- 
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.

  reply	other threads:[~2014-09-02  9:31 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-21  8:56 [PATCH v6 0/6] arm64: add seccomp support AKASHI Takahiro
2014-08-21  8:56 ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 1/6] arm64: ptrace: add PTRACE_SET_SYSCALL AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 16:47   ` Kees Cook
2014-08-21 16:47     ` Kees Cook
2014-08-22  0:19     ` AKASHI Takahiro
2014-08-22  0:19       ` AKASHI Takahiro
2014-08-26 17:46       ` Will Deacon
2014-08-26 17:46         ` Will Deacon
2014-08-27  5:32         ` AKASHI Takahiro
2014-08-27  5:32           ` AKASHI Takahiro
2014-09-03 18:34           ` Kees Cook
2014-09-03 18:34             ` Kees Cook
2014-08-21  8:56 ` [PATCH v6 2/6] arm64: ptrace: allow tracer to skip a system call AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:08   ` Kees Cook
2014-08-21 17:08     ` Kees Cook
2014-08-22  0:35     ` AKASHI Takahiro
2014-08-22  0:35       ` AKASHI Takahiro
2014-08-26 17:51       ` Will Deacon
2014-08-26 17:51         ` Will Deacon
2014-08-27  5:55         ` AKASHI Takahiro
2014-08-27  5:55           ` AKASHI Takahiro
2014-09-01 11:37           ` Will Deacon
2014-09-01 11:37             ` Will Deacon
2014-09-02  7:58             ` AKASHI Takahiro
2014-09-02  7:58               ` AKASHI Takahiro
2014-09-01 11:47           ` Russell King - ARM Linux
2014-09-01 11:47             ` Russell King - ARM Linux
2014-09-02  8:47             ` AKASHI Takahiro
2014-09-02  8:47               ` AKASHI Takahiro
2014-09-02  9:16               ` Russell King - ARM Linux
2014-09-02  9:16                 ` Russell King - ARM Linux
2014-09-02  9:31                 ` Russell King - ARM Linux [this message]
2014-09-02  9:31                   ` Russell King - ARM Linux
2014-09-05 10:08                 ` AKASHI Takahiro
2014-09-05 10:08                   ` AKASHI Takahiro
2014-10-01 11:08         ` AKASHI Takahiro
2014-10-01 11:08           ` AKASHI Takahiro
2014-10-03 15:23           ` Will Deacon
2014-10-03 15:23             ` Will Deacon
2014-10-06  8:04             ` AKASHI Takahiro
2014-10-06  8:04               ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 3/6] asm-generic: add generic seccomp.h for secure computing mode 1 AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:51   ` Kees Cook
2014-08-21 17:51     ` Kees Cook
2014-08-22  0:38     ` AKASHI Takahiro
2014-08-22  0:38       ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 4/6] arm64: add seccomp syscall for compat task AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:52   ` Kees Cook
2014-08-21 17:52     ` Kees Cook
2014-08-22  0:39     ` AKASHI Takahiro
2014-08-22  0:39       ` AKASHI Takahiro
2014-08-26 17:53   ` Will Deacon
2014-08-26 17:53     ` Will Deacon
2014-08-27  5:57     ` AKASHI Takahiro
2014-08-27  5:57       ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 5/6] arm64: add SIGSYS siginfo " AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro
2014-08-21 17:54   ` Kees Cook
2014-08-21 17:54     ` Kees Cook
2014-08-22  0:44     ` AKASHI Takahiro
2014-08-22  0:44       ` AKASHI Takahiro
2014-08-26 17:55   ` Will Deacon
2014-08-26 17:55     ` Will Deacon
2014-08-27  5:58     ` AKASHI Takahiro
2014-08-27  5:58       ` AKASHI Takahiro
2014-08-21  8:56 ` [PATCH v6 6/6] arm64: add seccomp support AKASHI Takahiro
2014-08-21  8:56   ` AKASHI Takahiro

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=20140902093121.GL30401@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=Catalin.Marinas@arm.com \
    --cc=arndb@arndb.de \
    --cc=dsaxena@linaro.org \
    --cc=keescook@chromium.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=takahiro.akashi@linaro.org \
    --cc=will.deacon@arm.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.