[Bug 1531923] Re: [MIR] lz4
Seth Arnold
1531923 at bugs.launchpad.net
Tue Feb 16 20:36:56 UTC 2016
Hello, I reviewed lz4 version 0.0~r131-1 as checked into xenial. This
shouldn't be considered a full security audit but rather a quick gauge of
maintainability.
- I found two CVEs, CVE-2014-4715 and CVE-2014-4611. One may be specific
to the Linux kernel implementation of lz4 decompression; the other was
an integer overflow issue with unusual architectures.
While the reporting was poor and lead to very frustrated upstream, Yann
moved to integrate a fuzzing process into the build alongside other
extensive test suites. Builds spend far more time testing than building.
- lz4 provides a very fast compression library and tool
- Build-Depends: debhelper
- Does not itself do networking, cryptography
- Does not itself daemonize
- No pre/post inst/rm
- No init scripts
- No dbus services
- No setuids
- No sudo fragments
- No privieged portions of code
- No udev rules
- No cronjobs
- New lz4 lz4c executables, unlz4 and unlz4cat symlinks
- One lintian error:
E: liblz4-1: postinst-must-call-ldconfig
usr/lib/x86_64-linux-gnu/liblz4.so.1.7.1
- Clean build logs
- No subprocesses spawned
- Memory management looked careful
- Files written to are under control of callers
- Logging looked careful
- No environment variables used
- No privileged operations
- No networking
- No cryptography
- No privileged portions of code
- No webkit
- No tmp files
- No PolicyKit
- Clean cppcheck
- Clean shellcheck
lz4 is carefully coded; similar to most codecs or compression algorithms
it's complicated code, but it has a good track record, responsive
upstream, proactive attempts to find and prevent security issues, and the
closest thing I found to a bug is a partially-implemented feature to allow
changing the default suffix away from .lz4:
- LZ4IO_compressMultipleFilenames() and
LZ4IO_decompressMultipleFilenames() uses a hardcoded
'+ 20' rather than + suffixSize + 1 + (optional slop space)
- MAXSUFFIXSIZE appears unused
- LZ4IO_decompressMultipleFilenames() hardcodes LZ4_EXTENSION length as
'4' (via %4s format string)
None of this is security-relevant or even user-facing.
Security team ACK for promoting lz4 to main.
Thanks
** Changed in: lz4 (Ubuntu)
Assignee: Seth Arnold (seth-arnold) => (unassigned)
** CVE added: http://www.cve.mitre.org/cgi-
bin/cvename.cgi?name=2014-4611
** CVE added: http://www.cve.mitre.org/cgi-
bin/cvename.cgi?name=2014-4715
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to lz4 in Ubuntu.
https://bugs.launchpad.net/bugs/1531923
Title:
[MIR] lz4
Status in lz4 package in Ubuntu:
Confirmed
Bug description:
[Availability]
OK
[Rationale]
needed for next APT release and to fix squashfs-tools depwait
[Security]
One CVE so far: http://www.cvedetails.com/product/28069/Yann-Collet-LZ4.html?vendor_id=13512
[Quality assurance]
Small compression library, should be easy to handle.
No bugs in Debian, except for a packaging wish:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=lz4;dist=unstable
Upstream bugs seem OK, mostly wishes and used as a TODO list:
https://github.com/Cyan4973/lz4/issues
(some small issues in the lz4 tool in liblz4-tool, but nothing really important).
[Dependencies]
Satisfiable
[Standards compliance]
seems ok
[Maintenance]
Actively maintained in debian, also used by zfs and squashfs.
Foundations is now subscribed to bugs for the package.
[Background information]
APT master has just landed support for lz4 compression using liblz4.
As such, we need liblz4-1 and -dev promoted to main for the next APT
release.
I'm posting this ahead of the APT release so we can get this change
reviewed in advance.
Also, squashfs-tools is currently in depwait on liblz4-dev.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lz4/+bug/1531923/+subscriptions
More information about the foundations-bugs
mailing list