I reviewed ostree 2020.8-2 as checked into hirsute.  This shouldn't be
considered a full audit but rather a quick gauge of maintainability. I
didn't make any effort to find which portion of the sources correspond
with the exact binary package that is under discussion.

ostree is a tool to manage giant farms of hardlinks and boot configurations
with a goal of providing transactional system updates, complete with
chain-of-trust using gpg.

I did not inspect ostree from this perspective at all -- the security team
is not interested in supporting ostree as a system management tool.

- CVE History:
  None in our database
- Build-Depends?
  Includes gpg, libgpgme-dev, among others
- pre/post inst/rm scripts?
  The ostree and ostree-boot package maintainer scripts have some dracut
  and grub configuration file handling, systemd service management, and
  will update the initrams
- init scripts?
  None
- systemd units?
  Not inspected, only in ostree-boot and ostree-tests
- dbus services?
  None
- setuid binaries?
  None
- sudo fragments?
  None
- polkit files?
  None
- udev rules?
  None
- unit tests / autopkgtests?
  Some tests run during the build, not inspected
- cron jobs?
  None
- Build logs:
  A lot of doc warnings; nothing code-related stood out

- Processes spawned?
  A lot of process spawning; some using arrays, some using strings with
  quoted filenames (presumably so the user could put pipelines into EDITOR
  or VISUAL environment variables)
- Memory management?
  Stack allocation is used a lot more often than I'd like.
  Because it's C, there's necessarily a lot of memory management and some
  of it is very fiddly. I'm pretty sure I found bugs, though maybe they
  just lead to crashes and memory leaks.        
- File IO?
  Extensive file IO -- some file operations rely upon umask having a
  sane value for the files to have sane permissions. File paths come
  from packages. A lot of operations are done on files as instructed by
  whatever is the equivalent of packages -- xattrs, setuid/setgid bits,
  etc. It's basically a full package manager tool. The inputs must
  be safe.
- Logging?
  Extensive logging; I did spot-checks and didn't find errors.
- Environment variable usage?
  Moderate use, some are validated and some are used as-is without any
  verification at all. Probably fine.
- Use of privileged functions?
  Extensive. ostree is a general system management tool. Spot checks of
  calls looked careful but I did not do full call hierarchy checks to see
  if all inputs to privileged functions were properly sanitized.
- Use of cryptography / random number sources etc?
  Uses an embedded soup to do some https validation. It wasn't obvious
  that it's correct but it did go to effort to pass the system CA store,
  so someone at least tried.
- Use of temp files?
  I'm slightly worried about the random number use for XXXXXX files; it is
  using non-cryptographic tool. It's probably fine and I'm a worry-wart.
- Use of networking?
  Yes, some, I didn't closely inspect it. What I did see looked primarily
  client-oriented rather than server-oriented
- Use of WebKit?
  None
- Use of PolicyKit?
  None

- Any significant cppcheck results?
  None
- Any significant Coverity results?
  Some issues, maybe just crashes, but might be worse. A lot of false
  positives.
- Any significant shellcheck results?
  None
- Any significant bandit results?
  None

Security team ACK for promoting strictly libostree-1-1 to main and with
the understanding that we're not supporting the ostree system management
in any way.

I've elided the notes I made while reading this, pending feedback from Red
Hat's security team. I don't like that there's no listed way to report
security issues.

Thanks

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

** Changed in: ostree (Ubuntu)
       Status: New => In Progress

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

Title:
  [MIR] libostree-1-1

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


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

Reply via email to