[MIR] rust-sudo-rs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rust-sudo-rs (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
[Availability]
The package rust-sudo-rs is already in Ubuntu universe.
The package rust-sudo-rs build for the architectures it is designed to work on.
It currently builds and works for architectures: amd64, arm64, armhf, ppc64el, riscv64, s390x
Link to package https:/
[Rationale]
The package rust-sudo-rs is required in Ubuntu main as a memory-safe alternative to sudo.
The package rust-sudo-rs will generally be useful for a large part of our user base.
rust-sudo-rs covers the most common sudo cases of sudo, not everything.
sudo and sudo-rs, both will be supported in the next LTS.
sudo-rs is recommended by sudo which we already support.
There is no other/better way to solve this that is already in main or should go universe->main instead of this.
All binary packages built by rust-sudo-rs need to be in main to be a suitable sudo replacement.
The package rust-sudo-rs is required in Ubuntu main no later than August 14, 2025 (QQ Feature Freeze) to meet the publicly commited timeline.
Earlier is better to get sufficient testing.
[Security]
- Had 3 security issues in the past (CVE-2023-42456, CVE-2025-46717, CVE-2025-46718)
The issues were fixed quickly by the upstream.
Last two are Low severity in the CWE-497 category.
Upstream also maintains security advisories here https:/
https:/
https:/
https:/
https:/
https:/
- /usr/lib/
- Package does not install services, timers or recurring jobs
- Packages does not open privileged ports (ports < 1024).
- Package does not expose any external endpoints
- Packages does not contain extensions to security-sensitive software
(filters, scanners, plugins, UI skins, ...)
[Quality assurance - function/usage]
- The package works well right after install
[Quality assurance - maintenance]
- The package is maintained well in Debian/
not have too many, long-term & critical, open bugs
- Ubuntu https:/
- Debian https:/
- Upstream's bug tracker https:/
- The package has important open bugs, listing them:
- https:/
- The package does not deal with exotic hardware we cannot support
[Quality assurance - testing]
- The package runs a test suite on build time, if it fails
it makes the build fail, link to build log TBD
[MP in review for build time tests https:/
- The package runs an autopkgtest, and is currently passing on amd64, arm64, armhf, ppc64el, 390x
link to test logs https:/
- The package does have not failing autopkgtests right now
[Quality assurance - packaging]
- debian/watch is present and works
- debian/control defines a correct Maintainer field
- This package does not yield massive lintian Warnings, Errors
- Please link to a recent build log of the package: https:/
- Lintian overrides are not present
- This package does not rely on obsolete or about to be demoted packages.
- This package has no python2 or GTK2 dependencies
- The package will be installed by default, but does not ask debconf
questions higher than medium
- Packaging and build is easy, link to debian/rules: https:/
[UI standards]
- Application is end-user facing, Translation is NOT present.
I did not find much trace of user interaction beside the following.
$ grep -r -A 1 -e user_info! -e user_warn! -e user_error! src/
src/sudo/pam.rs: user_warn!
src/sudo/pam.rs- }
--
src/su/context.rs: user_warn!(
src/su/context.rs- "using restricted shell {}",
--
src/su/mod.rs: user_warn!
src/su/mod.rs- }
--
src/exec/mod.rs: user_error!("unable to change directory to {}: {}", path.display(), err);
src/exec/mod.rs- if is_chdir {
[Dependencies]
- No further depends or recommends dependencies that are not yet in main
[Rust dependencies are vendored per Rust MIR policy]
[Standards compliance]
- This package correctly follows FHS and Debian Policy
[Maintenance/Owner]
- The owning team will be https:/
that commitment
- The future owning team is already subscribed to the package
- The team foundations-bugs is aware of the implications by a static build and
commits to test no-change-rebuilds and to fix any issues found for the
lifetime of the release (including ESM)
- The team foundations-bugs is aware of the implications of vendored code and (as
alerted by the security team) commits to provide updates and backports
to the security team for any affected vendored code for the lifetime
of the release (including ESM).
- This package uses vendored rust code tracked in Cargo.lock as shipped,
in the source package
refreshing that code is outlined in debian/
- This package uses vendored code, refreshing that code is outlined
in debian/
- This package is rust based and vendors all non language-runtime
dependencies
[MP in review, this should be done before the final Ack https:/
- The package has been built within the last 3 months in the archive
- Build link on launchpad: https:/
[Background information]
Upstream Name is sudo-rs
Link to upstream project https:/
https:/
https:/
Related branches
- Julian Andres Klode: Pending requested
- Ubuntu Core Development Team: Pending requested
-
Diff: 12 lines (+1/-0)1 file modifiedminimal (+1/-0)
- Julian Andres Klode: Pending requested
- Ubuntu Core Development Team: Pending requested
-
Diff: 23 lines (+1/-1)2 files modifiedserver-cloud-minimal (+1/-0)
supported (+0/-1)
summary: |
- MIR rust-sudo-rs + [MIR] rust-sudo-rs |
tags: | added: questing update-excuse |
Changed in rust-sudo-rs (Ubuntu): | |
status: | New → Incomplete |
Changed in rust-sudo-rs (Ubuntu): | |
milestone: | none → ubuntu-25.10-feature-freeze |
assignee: | nobody → Ravi Kant Sharma (ravi-sharma) |
Changed in rust-sudo-rs (Ubuntu): | |
assignee: | Ravi Kant Sharma (ravi-sharma) → nobody |
description: | updated |
description: | updated |
Changed in rust-sudo-rs (Ubuntu): | |
status: | Incomplete → New |
description: | updated |
Changed in rust-sudo-rs (Ubuntu): | |
assignee: | nobody → Didier Roche-Tolomelli (didrocks) |
tags: | added: sec-6925 |
Changed in rust-sudo-rs (Ubuntu): | |
status: | Fix Released → In Progress |
importance: | Undecided → High |
Changed in rust-sudo-rs (Ubuntu): | |
status: | In Progress → Fix Committed |
this at least requires
- vendoring of the package
- building on i386