Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 May 2016 01:29:54 +0200
From:      Martin Matuska <mm@FreeBSD.org>
To:        Ian Lepore <ian@freebsd.org>, michael butler <imb@protected-networks.net>, Tim Kientzle <tim@kientzle.com>
Cc:        FreeBSD current <freebsd-current@freebsd.org>
Subject:   Re: libarchive update SVN r299529 breaks "ezjail update"
Message-ID:  <e09d36c9-4398-8932-09ec-57c6d4024073@FreeBSD.org>
In-Reply-To: <1463256489.1180.139.camel@freebsd.org>
References:  <2c059cf5-2c8a-3b89-16c3-eedf02a01ec5@protected-networks.net> <20160512173440.Horde.5l1s9ijXRgAeMNgmT0MmCPa@mail.vx.sk> <20160512175418.Horde.JvYoOSRwfU_l2TIXv697u2B@mail.vx.sk> <E9B21A7F-AD3A-4182-AACC-3B92BBEF1216@kientzle.com> <13C1C575-4AEA-463F-A6BE-92843DAD7B53@kientzle.com> <7838d5e7-5d81-37f5-53dd-efdd0e855ea6@protected-networks.net> <1463256489.1180.139.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Ian, we are here talking about cpio, not libarchive. The flag in
libarchive is not active by default.


On 14.05.2016 22:08, Ian Lepore wrote:
> On Sat, 2016-05-14 at 15:51 -0400, michael butler wrote:
>>  From the looks of this, I think it's likely better to have the
>> default 
>> be "secure" and ezjail-admin use the "--insecure" flag as an explicit
>> override. That's the only place I've noticed the need for it although
>> I've not done an extensive search for any other instances in which it
>> might be required,
>>
>> 	imb
>>
> The real damage will happen to out-of-tree users.  I think this will
> impact our software updater for $work for example, and it has to work
> with both old and new versions of libarchive, and now the new version
> will require a flag that the old version will reject as unknown.
>
> Ick.
>
> -- Ian
>
>> On 5/14/2016 3:46 PM, Tim Kientzle wrote:
>>> A little history about this issue:
>>>
>>> http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2304
>>>
>>>
>>>> On May 14, 2016, at 12:17 PM, Tim Kientzle <tim@kientzle.com>
>>>> wrote:
>>>>
>>>> Many people consider the traditional behavior to be a security
>>>> risk, which is why this was changed.
>>>>
>>>> FreeBSD is welcome to make --insecure the default on FreeBSD, but
>>>> I'm reluctant to do that in the upstream libarchive project.
>>>>
>>>> Tim
>>>>
>>>>
>>>>> On May 12, 2016, at 8:54 AM, Martin Matuska <mm@freebsd.org>
>>>>> wrote:
>>>>>
>>>>> Looks like we have to remove line #174 from cpio/cpio.c:
>>>>> cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS;
>>>>>
>>>>> This breaks traditional cpio behavior.
>>>>>
>>>>> Quoting Martin Matuska <mm@freebsd.org>:
>>>>>
>>>>>> Hi Michael, I have looked at the source and this is an
>>>>>> intended change in 3.2.0.
>>>>>>
>>>>>> An absolute path security check was added, cpio refuses to
>>>>>> extract or copy over absolute paths. To do this anyway the "-
>>>>>> -insecure" flag must be used.
>>>>>>
>>>>>> Here is the commit:
>>>>>> https://github.com/libarchive/libarchive/commit/59357157706d4
>>>>>> 7c365b2227739e17daba3607526
>>>>>>
>>>>>> Quoting Michael Butler <imb@protected-networks.net>:
>>>>>>
>>>>>>> It seems that today's libarchive update breaks cpio's
>>>>>>> behaviour:
>>>>>>>
>>>>>>> sudo ezjail-admin update -i -s /usr/src
>>>>>>>
>>>>>>> [ .. ]
>>>>>>>
>>>>>>> cd /usr/src/etc/..; install -o root -g wheel -m 444 
>>>>>>>  COPYRIGHT
>>>>>>> /usr/local/jails/fulljail/
>>>>>>> install -o root -g wheel -m 444
>>>>>>> /usr/src/etc/../sys/i386/conf/GENERIC.hints
>>>>>>> /usr/local/jails/fulljail/boot/device.hints
>>>>>>> /usr/local/jails/basejail/bincpio: bin: Path is absolute:
>>>>>>> Unknown error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/catcpio: bin/cat: Path is
>>>>>>> absolute:
>>>>>>> Unknown error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/chflagscpio: bin/chflags:
>>>>>>> Path is
>>>>>>> absolute: Unknown error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/chiocpio: bin/chio: Path is
>>>>>>> absolute:
>>>>>>> Unknown error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/chmodcpio: bin/chmod: Path is
>>>>>>> absolute:
>>>>>>> Unknown error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/cpcpio: bin/cp: Path is
>>>>>>> absolute: Unknown
>>>>>>> error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/datecpio: bin/date: Path is
>>>>>>> absolute:
>>>>>>> Unknown error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/ddcpio: bin/dd: Path is
>>>>>>> absolute: Unknown
>>>>>>> error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/dfcpio: bin/df: Path is
>>>>>>> absolute: Unknown
>>>>>>> error: -1
>>>>>>>
>>>>>>> /usr/local/jails/basejail/bin/domainnamecpio:
>>>>>>> bin/domainname: Path is
>>>>>>> absolute: Unknown error: -1
>>>>>>> [ .. etc. .. ]
>>>>>>
>>>>>>
>>>>>> Martin Matuska
>>>>>> FreeBSD committer
>>>>>> http://blog.vx.sk
>>>>>
>>>>>
>>>>> Martin Matuska
>>>>> FreeBSD committer
>>>>> http://blog.vx.sk
>> _______________________________________________
>> freebsd-current@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "
>> freebsd-current-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e09d36c9-4398-8932-09ec-57c6d4024073>