Review for Source Package: exfatprogs

[Summary]
exfatprogs is the code to enable reading/writing/formatting/... of exFAT devices
by default, which will be useful for a broad range of Ubuntu users. The
alternative fuse-exfat driver is in universe.

MIR team ACK (but please still consider the Recommended TODOs, especially #2)
This does need a security review, so I'll assign ubuntu-security

List of specific binary packages to be promoted to main: exfatprogs
Specific binary packages built, but NOT to be promoted to main: n/a

Notes:
#0 - I'm requesting security review as this is a high risk component, reading 
untrusted files

Required TODOs: n/a
Recommended TODOs:
#1 - ~desktop-packages is already subscribed
#2 - help fixing warnings during build (could need a build-system update)
     => configure.ac:14: warning: The macro `AC_CONFIG_HEADER' is obsolete.
     => configure.ac:21: warning: The macro `AC_PROG_CC_STDC' is obsolete.
     => configure.ac:23: warning: The macro `AC_PROG_LIBTOOL' is obsolete.

[Rationale, Duplication and Ownership]
There is no other package in main providing the same functionality.
=> exfat-fuse in universe
A team is committed to own long term maintenance of this package.
=> ~desktop-packages
The rationale given in the report seems valid and useful for Ubuntu
=> e.g. support for exFAT formatted USB drives

[Dependencies]
OK:
- no other Dependencies to MIR due to this
  - SRCPKG checked with `check-mir`
  - all dependencies can be found in `seeded-in-ubuntu` (already in main)
  - none of the (potentially auto-generated) dependencies (Depends
    and Recommends) that are present after build are not in main
- no -dev/-debug/-doc packages that need exclusion
- No dependencies in main that are only superficially tested requiring
  more tests now.

Problems: None

[Embedded sources and static linking]
OK:
- no embedded source present
- does not have unexpected Built-Using entries
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard

Problems:
- no static linking (internal, static libexfat.a is used, but only in the 
resulting binaries) 

[Security]
OK:
- history of CVEs does not look concerning, CVE-2023-45897 handled via
  https://github.com/exfatprogs/exfatprogs/pull/239
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not expose any external endpoint (port/socket/... or similar)
- does not process arbitrary web content
- does not use centralized online accounts
- does not integrate arbitrary javascript into the desktop
- does not deal with system authentication (eg, pam), etc)
- does not deal with security attestation (secure boot, tpm, signatures)
- does not deal with cryptography (en-/decryption, certificates,
  signing, ...)

Problems:
- does parse data formats (files) from an untrusted source.
- does not make appropriate (for its exposure) use of established risk
  mitigation features (fuzzing), see comment #3 and:
  https://github.com/exfatprogs/exfatprogs/issues/274

[Common blockers]
OK:
- does not FTBFS currently
- does have a test suite that runs at build time
  - test suite fails will fail the build upon error.
- does have a non-trivial test suite that runs as autopkgtest
- This does not need special HW for build or test
- if a non-trivial test on this level does not make sense (the lib alone
  is only doing rather simple things), is the overall solution (app+libs)
  extensively covered i.e. via end to end autopkgtest ? => udisks2 autopkgtest
- no new python2 dependency
- not a Python package
- not a Go package

Problems: None

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- symbols tracking not applicable for this kind of code.
  => libexfat.a only used internally, not shipped in the package
- debian/watch is present and looks ok (if needed, e.g. non-native)
- Upstream update history is good
- Debian/Ubuntu update history is good
- the current release is packaged
- promoting this does not seem to cause issues for MOTUs that so far
  maintained the package
- no massive Lintian warnings
- debian/rules is rather clean
- It is not on the lto-disabled list

Problems: None

[Upstream red flags]
OK:
- no Errors during the build
- no incautious use of malloc/sprintf (as far as we can check it)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside
  tests)
- no use of user nobody
- no use of setuid / setgid
- use of setuid, but ok because TBD (prefer systemd to set those
  for services)
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit or libseed
- not part of the UI for extra checks
- no translation present, but none needed for this case (user visible)?

Problems:
- warnings during build (could need a build-system update)
  => configure.ac:14: warning: The macro `AC_CONFIG_HEADER' is obsolete.
  => configure.ac:21: warning: The macro `AC_PROG_CC_STDC' is obsolete.
  => configure.ac:23: warning: The macro `AC_PROG_LIBTOOL' is obsolete.

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2023-45897

** Changed in: exfatprogs (Ubuntu)
     Assignee: Lukas Märdian (slyon) => Ubuntu Security Team (ubuntu-security)

** Changed in: exfatprogs (Ubuntu)
       Status: Triaged => New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2073783

Title:
  [MIR] exfatprogs

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/exfatprogs/+bug/2073783/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to