I reviewed rust-threecpio 0.10.2-0ubuntu1 as checked into questing.
This shouldn't be considered a full audit but rather a quick gauge
of maintainability.

rust-threecpio (aka 3cpio) is a cpio file manager specifically for
the initramfs and it is a Rust implementation intended to replace
the GNU cpio (source package named cpio).

- CVE History
  - None
- Build-Depends
  - debhelper-compat, dh-cargo, asciidoctor, bzip2, cargo,
    libstd-rust-dev, lz4, lzop ,rustc, xz-utils, zstd
- pre/post inst/rm scripts
  - None
- init scripts
  - None
- systemd units
  - None
- dbus services
  - None
- setuid binaries
  - None
- binaries in PATH
  - installs '/usr/bin/3cpio', the only binary created
- sudo fragments
  - None
- polkit files
  - None
- udev rules
  - None
- unit tests / autopkgtests
  - unit tests exists and are executed during build. easy to run them
    manually with 'cargo test';
  - autopkgtest are not running as of now but there are plans to have
    it as stated in LP #2120364;
- cron jobs
  - None
- Build logs
  - Build logs are clean and there is nothing outstanding

- Processes spawned
  - spawn compression programs in `src/compression.rs`. not using absolute
    paths (e.g.: `/usr/bin/bzip2`) but not an issue here as `3cpio` is not
    intended to run with privileges and a change in the `PATH` likely
    wouldn't cause exposures.
- Memory management
  - OK
- File IO
  - reads and writes files in most of the operations due to the nature of
    the program;
  - errors checks are present;
  - data contents are compressed/decompressed so there is no expectation
    of data being processed by other means that could cause harm;
  - paths are passed by argument and there are checks and tests for
    possible vulnerabilities such as path transversal attacks and for the
    use of symlinks;
- Logging
  - OK
- Environment variable usage
  - OK
- Use of privileged functions
  - None
- Use of cryptography / random number sources etc
  - None
- Use of temp files
  - OK
- Use of networking
  - None
- Use of WebKit
  - None
- Use of PolicyKit
  - None

- Any significant cppcheck results
  - None
- Any significant Coverity results
  - None
- Any significant shellcheck results
  - None
- Any significant bandit results
  - None
- Any significant govulncheck results
  - None
- Any significant Semgrep results
  - None

Code seems very solid and upstream is very active and present.
Bonus for the usage of the minimum viable vendored code, hopefully
easier to maintain.

Security team ACK for promoting rust-threecpio to main. I would
suggest adding a `SECURITY.md` file in upstream (github) to create
a security policy to handle possible security issues[1].

[1]: https://docs.github.com/en/code-security/getting-started/adding-a-
security-policy-to-your-repository


** Changed in: rust-threecpio (Ubuntu)
       Status: New => In Progress

** Changed in: rust-threecpio (Ubuntu)
     Assignee: Ubuntu Security Team (ubuntu-security) => (unassigned)

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

Title:
  [MIR] rust-threecpio

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-threecpio/+bug/2119257/+subscriptions


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

Reply via email to