Skip to content

Releases: trifectatechfoundation/sudo-rs

Version 0.2.13

10 Mar 16:42
Immutable release. Only release title and notes can be modified.
v0.2.13
965cd7b

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • In pwfeedback mode, pressing TAB will turn off the visual feedback (#1487)
  • To allow specifying partial arguments (such as subcommands) in /etc/sudoers
    rules, a standalone * as the last argument can now be used to denote "zero
    or more following arguments". Attempts to use wildcards in other positions
    will now result in an explicit parse error with visudo. (#1455)
  • A Polish translation of the command line interface

Changed

  • Defaults pwfeedback is now on by default! (#1300)
  • UX improvements in the password prompt: it can be suspended/resumed (#1499),
    and backspace supports multibyte characters (#1451)
  • sudoedit now also checks ACLs for misconfigurations (#1477)
  • Better error message if sudo-rs is being run in a container that has
    no_new_privs enabled. (#1164)
  • IPv4-like hostnames in /etc/sudoers are now explicitly rejected (#1466)
  • sudo-rs now requires at least Rust 1.85 to compile

Fixed

  • When using -i / --login, the HOME, SHELL, USER and LOGNAME are now always
    set to the target user, even if they are part of the env_keep list. (#1335)
  • Arguments in SUDO_EDITOR were not supported (#1491)
  • sudo --bell did not work with PAM fingerprint module (#1180)
  • Host-specific Defaults could result in an erroneous parse error (#1468)
  • Command arguments containing non-UTF8 characters were rejected (#1413)
  • lecture setting is now correctly ignored (#1481)
Contributors for this release

Merged pull requests: @bjorn3, @squell, new contributors: @Nmrawe, @Timmmm, @aidanharris, @sudoforge, @hashcatHitman, @e-kwsm
Closed issues opened by: @japaric, @BAMF0, @dmknght, @Quackdoc, @elmaimbo, @MrSom3body, @leonbohn

Version 0.2.12

09 Feb 14:28
Immutable release. Only release title and notes can be modified.
v0.2.12
f350029

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • Support for -b / --background to run commands in the background

Changed

  • visudo will now complain about unsupported command tags (#1401)

Fixed

  • When run in a pipe from ksh with use_pty would put the
    TTY in an unusable state (#1417, introduced in 0.2.11)
  • When run as the last command in a pipe with use_pty, sudo-rs would not
    grant the executed command access to the TTY (#1263)
  • Documentation didn't explicitly mention -A (#1431)
Contributors for this release

Merged pull requests: @squell, @bjorn3, @joriskleiber, new contributors: @mrmonopoly-cyber, @LisetRoos, @aplopez, @michielp1807, @Elec3137
Closed issues opened by: @SelYui, @qbarnes, @adombeck

Version 0.2.11

16 Dec 15:33
Immutable release. Only release title and notes can be modified.
v0.2.11
7962621

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • Support for -A / --askpass to enable using an external askpass program
    under control of the SUDO_ASKPASS environment variable.
  • Functional support for localisation. This can be enabled by building sudo-rs
    with the gettext feature and installing a sudo-rs.mo in the correct
    LC_MESSAGES folder. Since we have no translations yet this is off by default.

Changed

  • sudo is always built with sudoedit functionality
  • sudo no longer sets the archaic MAIL environment variable
  • timestamps format has been changed to always check for session pid (#1132).
    As a consequence, timestamps created by earlier versions of sudo-rs are
    invalidated after upgrading to this version.
  • The folder containing zoneinfo is detected at runtime; build.rs was removed
  • The default value of Defaults editor has been changed on Linux to remove the
    dependence on Debian-specific /usr/bin/editor.

Fixed

  • sudo -i made root as owner of the pty instead of the login user (#1333)
  • visudo usability improvements (#1388, #1394)
  • Mistakes in the man pages (#1338, #1362, #1387)
  • Better error message when /etc/sudoers contains regular expressions (#1352)
  • Better error message when /etc/sudoers is missing (#1368)
  • Redirecting input/output to another TTY was not recognised as redirection;
    this fix originated from Todd Miller's sudo (#1380)
Contributors for this release

Merged pull requests: @bjorn3, @squell, @pvdrz, new contributors: @adombeck, @re-taro, @cnaples, @joriskleiber, @meeque, @braird, @konstruktoid,
Closed issues opened by: @GrosQuildu, @allisonkarlitskaya, @mgedmin, @reneleonhardt, @BAMF0, @StackOverflowExcept1on, @bystones, @meeque, @rhelder

Version 0.2.10

10 Nov 12:55
Immutable release. Only release title and notes can be modified.
v0.2.10

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Changed

  • Message shown at password timeout has been made nicer (#1171)
  • Interrupting a PAM module that handles its own input such as fprintd
    will not prevent other authentication modes from being tried. (#1308)

Fixed

  • Some formatting mistakes in the man pages (#1285)
  • Unhandled exception if user would attempt to execute a folder (#1298)
  • Defaults passwd_tries=0 effectively disabled the limit on password tries
    rather than setting the limit to zero (#1313)
  • sudoedit ignored supplementary groups when checking writability (#1321)
  • A partially typed password would be output to standard input if a timeout
    occurred when Defaults pwfeedback was not enabled (GHSA-c978-wq47-pvvw).
  • Timestamp files did not take into account the setting of the
    Defaults targetpw and Defaults rootpw (GHSA-q428-6v73-fc4q)
  • Minor tokenization error in /etc/sudoers processing (#1296)
Contributors for this release

Merged pull requests: @bjorn3, @squell, @MggMuggins, new contributors: @BAMF0, @Pingasmaster
Closed issues opened by: @DevLaTron, @chessman

Version 0.2.9

03 Oct 13:20
v0.2.9

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • SUDO_HOME variable will now be set to the invoking user's home directory

Changed

  • Defaults noninteractive_auth now controls whether PAM authentication
    modules are allowed to attempt authentication when sudo --non-interactive is
    being used (new default: off). Previous versions had this as always-on
    to allow fully automatic authentication methods to succeed.

Fixed

  • Two bugs in managing the PTY connected to the child process that negatively
    impacted interactive usability (#1130, #1264)
  • visudo --help showed command flags that were removed (#1239)
  • Format flags in SUDO_PROMPT were not expanded (#1252)
  • sudo would abort with an unhandled exception instead if an attempt was
    was made to match a "netgroup", instead of ignoring these (#1262)
  • A few tokenizer errors in /etc/sudoers processing (#1273, #1274, #1283)
  • Some formatting mistakes in the man pages (#1285)
Contributors for this release

Merged pull requests: @bjorn3, @squell, @raviksharma, @vmeurisse
Closed issues opened by: @Pu-Anlai, @SimangaThinkDev, @uusijani, @parapente, @fweimer-rh

Version 0.2.8

04 Aug 09:19
v0.2.8
b434d4d

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • sudo -e, sudoedit to safely edit files as another user.

Fixed

  • NOEXEC: could not be used to prevent all shell escapes on multi-architecture
    installations (#1229)
  • sudo --list would not show NOEXEC, SETENV and APPARMOR_PROFILE (#1228)
  • Skip paths not accessible by the target user during command resolution (#1234)
Contributors for this release

Merged pull requests: @bjorn3, @squell
Closed issues opened by: @mrnossiom, @awebeer256, @Fedqys

Version 0.2.7

01 Jul 09:28
v0.2.7
b57be94

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • Linux kernels older than 5.9 are now supported.
  • Support for Defaults noexec/NOEXEC: on Linux systems based on seccomp
    filtering to prevent shell escapes in wide range of cases. This should also
    work on programs not written in C and statically linked executables.
  • Support for passwd_timeout
  • Support for umask and umask_override
  • --preserve-env=VAR is now supported to preserve selected environment
    variables in a more convenient way

Changed

  • sudo-rs now uses CLOEXEC to close open file descriptors in the child process
  • Relative paths like ./ in secure_path/PATH are now ignored.
  • apparmor.so is dynamically loaded by sudo itself, as-needed

Fixed

  • Usernames that start with _ or have non-western characters were not supported
    as a valid username in /etc/sudoers (#1149)
  • Other usability improvements in /etc/sudoers (#1117, #1126, #1134, #1157)
Contributors for this release

Merged pull requests: @bjorn3, @squell, new contributors: @MggMuggins, @piguycs, @dzvon, @sohomdatta1
Closed issues opened by: @HanabishiRecca, @hyder365, @bertptrs, @mikkorantalainen, @satmandu, @raviksharma, @TheEdgeOfRage

Version 0.2.6

06 May 17:10
v0.2.6

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • Support for Defaults setenv
  • Support for the list pseudocommand to control sudo -U
  • Support for switching AppArmor profiles though Defaults apparmor_profile and
    the APPARMOR_PROFILE command modifier. To enable this, build sudo-rs with
    the apparmor feature enabled.

Changed

  • Added a check against PAM modules changing the user during authentication (#1062)
  • list pseudocommand now controls whether a password is required for sudo -l -U

Fixed

  • Usernames commonly used by Active Directory were not parsed correctly (#1064)
  • Test compilation was broken on 32-bit systems (#1074)
  • pwfeedback was ignored for sudo --list and sudo --validate (#1092)
  • Compilation with musl instead of glibc on Linux was not possible (#1084)
  • sudo --list now does more checking before reporting errors or listing the
    rights of a user, fixing two security bugs (CVE-2025-46717 and CVE-2025-46718)
Contributors for this release

Merged pull requests by: @bjorn3, @squell, @rnijveld, new contributors: @3v1n0
Closed issues opened by: @oneElectron, @mpibpc-mroose, @jbicha, @zonia3000

Version 0.2.5

01 Apr 11:58
v0.2.5
37175bb

Choose a tag to compare

To use the precompiled binaries attached below, consult our manual installation instructions

Added

  • sudo visudo will protect you from accidentally locking yourself out
  • Support for --prompt and SUDO_PROMPT environment variable
  • Support for Defaults targetpw
  • Support for VAR=VALUE matching in Defaults env_keep/env_check
  • Support for --bell

Changed

  • Portability: sudo-rs supports FreeBSD!
  • sudo -v will only ask for a password if the policy requires it

Fixed

  • Manual wrongly claimed timestamp_timeout supported negative values (#1032)
  • timestamp_timeout in excess of 292 billion years were not rejected (#1048)
  • Usernames in /etc/sudoers can contain special characters by using double
    quotes or escaping them (#1054)

Contributors for this release

Merged pull requests by: @bjorn3, @squell, new contributors: @shurizzle, @millert, @inventor500
Closed issues opened by @bertptrs, @HanabishiRecca, @decathorpe, @woodsb02, @id3v1669, @Timmmm

Version 0.2.4

25 Feb 13:26
v0.2.4
6c3852f

Choose a tag to compare

Added

  • Support for 'SETENV:' and corresponding 'sudo VAR=value command' syntax
  • Support for 'Defaults rootpw'
  • Support for 'Defaults pwfeedback'
  • Support for host/user/runas/command-specific Defaults

Changed

  • Portability: sudo-rs now has experimental support for FreeBSD!
  • pam-login feature now controls if PAM service name 'sudo-i' is used

Fixed

  • Bug in syslog writer could cause sudo to hang (#856)
  • SHELL was not canonicalized when using 'sudo -s' or 'sudo -i' (#962)
  • RunAs_Spec was not carried over on the same /etc/sudoers line (#974)
  • sudo --list did not unfold multiple-level aliases (#978)
  • The man page for sudoers(5) was missing (#943)

Other

  • sudo-rs copyright changed to Trifecta Tech Foundation

Credits for this release

Merged pull requests by: @bjorn3, @squell, @rnijveld, new contributors: @sylvestre, @van-sprundel
Closed issues opened by: @japaric, @BriocheBerlin, @mkg20001, @GentsunCheng, @aidanharris, @jplatte, @raforg