Sudo-rs: workplan

Funders

Supporters & Past funders

<< Back to initiative: Privilege boundary

Roadmap

Current development (Oct 2024 - Apr 2025) includes increasing cross-platform support and improve compatibility with the original sudo utility.

Future work (pending funding) includes Improved Compatibility, Usability Enhancements, and Enterprise features.

In 2023 and 2024 we completed milestones 0-3 and released the first versions of sudo-rs.

Current work

Milestone 4: Maintenance and Portability

  • Port sudo and su to FreeBSD
  • Improve compatibility with the original sudo utility
  • Support for often-used configuration options in /etc/sudoers
  • Ability to configure /etc/sudoers options on a per-user, per-command, per-host basis
  • Improved environment handling (SETENV)
  • Customizable password prompt that can display more of the authentication context

This work is funded by NLnet Foundation and the Ministry of the Interior of the Netherlands.

Milestone 5: Features for Mainstream Adoption by Linux Distributions

  • Course-grained shell escape prevention (NOEXEC) on Linux
  • AppArmor support
  • sudoedit
  • Support for Linux Kernels prior to version 5.9

This work is supported by Canonical.


Future work

Internationalization

  • Internationalization support
  • Translating messages

Improved Cross-platform Compatibility

  • Port sudo and su to other platforms (MacOS, NetBSD)
  • Course-grained shell escape prevention (NOEXEC) on all supported platforms

Usability Enhancements

  • Support reading the doas configuration file
  • A migration guide and FAQ for users

Enterprise features

  • Fine-grained shell escape prevention (NOINTERCEPT) on Linux
  • SELinux support
  • Improved audit trails (i.e. session recording)
  • sudoreplay

Completed work items

Milestone 0: Preparation

  • System architecture and requirements
  • Project setup
  • Sudoers file parsing

Milestone 1: Drop-in replacement with a default config

  • Core sudo pipeline from policy verification to minimal command execution without security features
  • Sudoers based policy, with limited feature support
  • Authentication based on PAM
  • Command execution using exec with basic signal and fd passing
  • Test for Ubuntu 22.04 with a default sudoers config
  • Setup testing framework

Milestone 2: Security parity

  • Core sudo pipeline with full sanitation of signals, file descriptors, limits, ptrace, pty management, etc. and more efficient command execution
  • Add su implementation
  • Testing for full security compliance
  • Wider configuration feature flag support
  • User facing documentation
  • Credential caching

Milestone 3: Deployability

  • Improve usability by implementing commonly used feature flags and configuration options (such as sudo -l, and various reasonable configuration options)
  • Implement visudo
  • More complete user facing documentation
  • First public release of sudo and su aimed at single-user systems
  • Support for other Linux distributions than Debian/Ubuntu (i.e. Fedora-based ones)

<< Back to initiative: Privilege boundary