I reviewed glycin 1.2~beta.1+ds-2 as checked into plucky. This shouldn't be
considered a full audit but rather a quick gauge of maintainability.
> Glycin is a sandboxed image loading library which allows to decode images
> into gtk:Texture structs and to extract image metadata.
> This MIR is conducted because `glycin` is a dependency of `loupe`, the
> new default image reader of gnome.
- CVE History
- none
- Build-Depends
- debhelper-compat
- meson (universe)
- libcairo2-dev
- libgtk-4-dev
- libheif-dev (universe)
- cargo:native
- rustc:native
- libstd-rust-dev
- librust-async-fs-2+default-dev (universe)
- librust-async-io-2+default-dev (universe)
- librust-async-lock-3+default-dev (universe)
- librust-blocking-1+default-dev (universe)
- librust-cairo-rs-0.20+default-dev (universe)
- librust-env-logger-0.11+humantime-dev (universe)
- librust-futures-channel-0.3+default-dev (universe)
- librust-futures-lite-2+default-dev (universe)
- librust-futures-task-0.3+default-dev (universe)
- librust-futures-timer-3+default-dev (universe)
- librust-futures-util-0.3+default-dev (universe)
- librust-gdk4-0.9+default-dev (universe)
- librust-gdk4-0.9+v4-16-dev (universe)
- librust-gio-0.20+default-dev (universe)
- librust-glib-0.20+default-dev (universe)
- librust-glycin-2+default-dev (universe)
- librust-glycin-utils+default-dev (universe)
- librust-glycin-utils+async-io-dev (universe)
- librust-glycin-utils+loader-utils-dev (universe)
- librust-gufo-0.2+all-image-formats-dev (universe)
- librust-gufo-0.2+default-dev (universe)
- librust-gufo-common-0.2+serde-dev (universe)
- librust-gufo-exif-0.2+default-dev (universe)
- librust-gufo-jpeg-0.2+default-dev (universe)
- librust-image-0.25+default-dev (universe)
- librust-jpeg-encoder-0.6+default-dev (universe)
- librust-jpegxl-rs-0.10+image-dev (universe)
- librust-jpegxl-sys-0.10+default-dev (universe)
- librust-lcms2-6+default-dev (universe)
- librust-lcms2-sys-4+default-dev (universe)
- librust-libc-0.2+default-dev (universe)
- librust-libseccomp-0.3+default-dev (universe)
- librust-libheif-rs-1+default-dev (universe)
- librust-librsvg-rebind-0.1+default-dev (universe)
- librust-log-0.4+default-dev (universe)
- librust-memfd-0.6+default-dev (universe)
- librust-memmap2-0.9+default-dev (universe)
- librust-nix-0.29+fs-dev (universe)
- librust-nix-0.29+resource-dev (universe)
- librust-nix-0.29+signal-dev (universe)
- librust-paste-1+default-dev (universe)
- librust-rmp-serde-1+default-dev (universe)
- librust-safe-transmute-0.11+default-dev (universe)
- librust-serde-1+derive-dev (universe)
- librust-static-assertions-1+default-dev (universe)
- librust-system-deps-7+default-dev (universe)
- librust-thiserror-1+default-dev (universe)
- librust-tokio-1+fs-dev (universe)
- librust-tokio-1+rt-dev (universe)
- librust-tokio-1+rt-multi-thread-dev (universe)
- librust-tokio-stream-0.1+fs-dev (universe)
- librust-tracing-0.1+default-dev (universe)
- librust-tracing-subscriber-0.3+fmt-dev (universe)
- librust-tracing-subscriber-0.3+env-filter-dev (universe)
- librust-yeslogic-fontconfig-sys-5+default-dev (universe)
- librust-zbus-5+p2p-dev (universe)
- librust-zune-jpeg-0.4+default-dev (universe)
- pre/post inst/rm scripts
- none
- init scripts
- none
- systemd units
- none
- dbus services
- none
- only interaction with dbus is in test suite
- setuid binaries
- none
- binaries in PATH
- uaudit reported a lack of stack protection flags on binaries
- sudo fragments
- none
- polkit files
- none
- udev rules
- none
- unit tests / autopkgtests
- a test suite is run at build time, the build fails if it fails
- there are no autopkgtests
- cron jobs
- none
- Build logs
- no errors
- several warnings:
- unused imports
- unreacheable code
- unused methods/structs/traits
- mutable/shared reference to mutable static
- use of deprecated traits and unit variants
- Processes spawned
- none
- Memory management
- many uses of "unsafe" code blocks (necessary to interface with C libs)
- many uses of raw pointers (once again, necessary to work with C libs)
- File IO
- nothing stands out
- Logging
- nothing stands out
- Environment variable usage
- nothing stands out
- Use of privileged functions
- none
- Use of cryptography / random number sources etc
- none
- Use of temp files
- none
- some are created/used by the test suite
- 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
- build-aux/dist-vendor.sh:6 lacks double quotation in the inner context
- Any significant bandit results
- processes spawned with relative paths in tests and packaging scripts
- Any significant govulncheck results
- none
- Any significant Semgrep results
- none
Relatively young project with active community, some stats about
upstream:
- Gnome gitlab repo created on May 21, 2023
- 445 commits, 4 releases
- 5 days since most recent commit
- 301 project members
- 4 open merge requests, 161 total
Security team ACK for promoting glycin to main, on condition that rust
dependencies are vendored in instead of relying on source packages.
** Changed in: glycin (Ubuntu)
Status: Incomplete => 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/2093182
Title:
[MIR] glycin
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glycin/+bug/2093182/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs