Review for Package: src:nftables
Author: @joalif
Reviewed-by: @slyon

[Summary]
nftables is the future CLI for firewalling which should be available on Ubuntu.
iptables CLI switched to using a nftables backend, but will probably still
exist for a while.
The package is looking good from a MIR perspective, except for missing
symbols tracking of libnftables1 and an explicit agreement about the
maintenance of the embedded sources.

MIR team ACK under the constraint to resolve the below listed required
TODOs and as much as possible having a look at the recommended TODOs.

This does need a security review, so I'll assign ubuntu-security

List of specific binary packages to be promoted to main:
libnftables-dev_1.0.2-1_amd64.deb
libnftables1_1.0.2-1_amd64.deb
nftables_1.0.2-1_amd64.deb
python3-nftables_1.0.2-1_amd64.deb

Specific binary packages built, but NOT to be promoted to main: <None>

Notes:
- The package is owned by ubuntu-security, so they might already have checked
it. I'm still assigning it to ubuntu-security.
- The team bug subscriber is already set to ubuntu-security.

Required TODOs:
#1 embedded source present (as stated in bug description: src/rbtree.c), as the
   the security team will be the maintainer of this package, we do not need
   security-team's agreement, but please explicitly state your willingness to
   also maintain those embedded sources in a comment.
#2 symbols tracking is not in place (we see a lintian warning about it), please
   create a .symbols file for libnftables1

Recommended TODOs:
#3 some vague security concerns have been raised, but as the security team
   will be the maintainer of this package I think it will be in good hands
#4 does not have a test suite that runs at build time, please try to enable
   some tests at build time. We're good for now, though, as we have automated
   autopkgtests
#5 The distutils package is deprecated (to be removed in in Python 3.12), try
   to fix this build-time warning by switching to setuptools

[Duplication]
This package replaces iptables. (but iptables will still be around for a while)

[Dependencies]
OK:
- no other Dependencies to MIR due to this
  - checked with check-mir
  - not listed in seeded-in-ubuntu
  - 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 static linking
- does not have odd Built-Using entries
- not a go package, no extra constraints to consider in that regard

Problems:
- embedded source present (as stated in bug description: src/rbtree.c)

[Security]
OK:
- history of CVEs does not look concerning
- does not use webkit1,2
- does not use lib*v8 directly
- 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)

Problems:
- does parse data formats
- can be used to open a port/socket
- does not run a daemon as root, but a (one-shot) system service can be enabled
to (re-)load the firewall rules at boot time

[Common blockers]
OK:
- does not FTBFS currently
- does have a non-trivial test suite that runs as autopkgtest
- no new python2 dependency
- Python package, but using dh_python (has a python part, using debhelper)

Problems:
- does not have a test suite that runs at build time
  - test suite fails will fail the build upon error.
(package has a test suite but cannot see it running while builing,
this suite runs as autopackage though)

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- d/watch is present and looks ok 
- 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
- d/rules is rather clean
- It is not on the lto-disabled list

Problems:
- symbols tracking not in place
I: libnftables1: no-symbols-control-file 
usr/lib/x86_64-linux-gnu/libnftables.so.1.1.0

[Upstream red flags]
OK:
- 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
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit, seed or libgoa-*
- not part of the UI for extra checks
- no translation present, but none needed for this case (user visible)?

Problems:
- DeprecationWarning during build:
setup.py:2: DeprecationWarning: The distutils package is deprecated and slated
for removal in Python 3.12. Use setuptools or check PEP 632 for potential
alternatives from distutils.core import setup

** Changed in: nftables (Ubuntu)
     Assignee: Ioanna Alifieraki (joalif) => Ubuntu Security Team 
(ubuntu-security)

** Changed in: nftables (Ubuntu)
       Status: New => Confirmed

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

Title:
  [MIR] nftables

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


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to