Go to file
Timo Teräs 6484ed9849 rework unpacking of packages and harden package file format requirements
A crafted .apk file could to trick apk writing unverified data to
an unexpected file during temporary file creation due to bugs in handling
long link target name and the way a regular file is extracted.

Several hardening steps are implemented to avoid this:
 - the temporary file is now always first unlinked (apk thus reserved
   all filenames .apk.* to be it's working files)
 - the temporary file is after that created with O_EXCL to avoid races
 - the temporary file is no longer directly the archive entry name
   and thus directly controlled by potentially untrusted data
 - long file names and link target names are now rejected
 - hard link targets are now more rigorously checked
 - various additional checks added for the extraction process to
   error out early in case of malformed (or old legacy) file

Reported-by: Max Justicz <max@justi.cz>
2018-09-10 10:59:39 +03:00
libfetch libfetch: do not give out user/hostname as ftp anonymous password 2018-09-05 10:32:00 +03:00
src rework unpacking of packages and harden package file format requirements 2018-09-10 10:59:39 +03:00
test solver: allow names with only one provider to be autoselected regardless of priority 2018-02-21 15:35:53 +00:00
.gitignore build and use bundled libfetch natively 2017-10-05 16:59:14 +03:00
.mailmap add .mailmap to consolidate git shortlog 2018-09-10 09:19:01 +03:00
.travis.yml travis: update alpine-chroot-install to 0.7.0 2018-02-09 01:22:56 +01:00
AUTHORS Initial commit of some stuff written so far. Still in state of flux. Expect 2008-04-17 14:09:13 +00:00
Make.rules build and use bundled libfetch natively 2017-10-05 16:59:14 +03:00
Makefile apk-tools-2.10.0 2018-06-24 17:52:33 +00:00
NEWS Initial commit of some stuff written so far. Still in state of flux. Expect 2008-04-17 14:09:13 +00:00
README Initial commit of some stuff written so far. Still in state of flux. Expect 2008-04-17 14:09:13 +00:00

README