Control: tags -1 pending
Control: severity 789401 important

On Wed, Aug 05, 2015 at 01:33:43PM +0200, Jakub Wilk wrote:
> * Mattia Rizzolo <[email protected]>, 2015-08-04, 07:41:
> >>pbuilder builds the package in $BUILDPLACE/tmp/buildd. But
> >>$BUILDPLACE/tmp is normally world-writable, and pbuilder doesn't fail if
> >>the buildd direcory already exists:
> >>
> >>   mkdir -p "$BUILDPLACE/tmp/buildd"
> >>
> >>There's a race window between unpacking base.tgz and the mkdir call when
> >>malicious local user could create their own $BUILDPLACE/tmp/buildd.
> >>Owning the buildd directory would let them tamper with the build
> >>process.
> >>
> >>Alternatively, the attacker could exploit #789401 to plant tmp/buildd
> >>directly in base.tgz.
> >
> >I think I'm going to solve both this and #789401 by making /tmp/buildd
> >configurable
> 
> Right. Moving the build directory outside /tmp will should fix this bug.

done, by parametring the directory with BUILDDIR and changing the default to
/build

I forsee angry users, since /tmp/buildd is probably used in a lot of local
script (hooks). Also the example hooks need updating, not to speak about
docs....  → work.

> I don't see how changing it can fix #789401, though.

It would improve the situation, as a malicious local user can not plant the
build dir any more (yes, it could still temper with /tmp, but with the actual
build dir, which is somewhere else)

> >and defaulting to another place, maybe the one used by sbuild (/buildd
> >iirc)
> 
> It's "/build" (with a single "d").

cool, thanks.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540         .''`.
more about me:  http://mapreri.org                                 : :'  :
Launchpad user: https://launchpad.net/~mapreri                     `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia     `-

Attachment: signature.asc
Description: Digital signature

Reply via email to