trifectatechfoundation / sudo-rs

A memory safe implementation of sudo and su.
Other
2.87k stars 76 forks source link

Panics in syslog.rs #809

Closed CertainLach closed 9 months ago

CertainLach commented 9 months ago

Describe the bug sudo-rs panics on logging long command with no spaces

To Reproduce Steps to reproduce the behavior:

  1. Compile 'sudo-rs' 'v0.2.1'

  2. Write the following contents to /etc/sudoers-rs : Not relevant, anything.

  3. Run the following command:

    sudo ls zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
  4. See error

    
    byte index 823 is out of bounds of `zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz`[...]

stack backtrace: 0: 0x55e371a0996f - ::fmt::h13e1a9b9ebeee924 1: 0x55e3719e8b9c - core::fmt::write::h4241cb35c54123f4 2: 0x55e371a2743d - std::io::Write::write_fmt::hfe37cff7f3aa0e3d 3: 0x55e371a09759 - std::sys_common::backtrace::print::hc19a67331b3076ff 4: 0x55e371a223b2 - std::panicking::default_hook::{{closure}}::h10c691ff00f3f05c 5: 0x55e371a22a53 - std::panicking::rust_panic_with_hook::hc77a4fa6bb2ac5c4 6: 0x55e371a09f72 - std::panicking::begin_panic_handler::{{closure}}::h43aaf25fc9116c32 7: 0x55e371a09ed6 - std::sys_common::backtrace::rust_end_short_backtrace::hc36652d4de1d92d2 8: 0x55e371a22571 - rust_begin_unwind 9: 0x55e3719df5e2 - core::panicking::panic_fmt::h208bab87ed164649 10: 0x55e3719eb592 - core::str::slice_error_fail_rt::h537e5f4a49771993 11: 0x55e3719df886 - core::str::slice_error_fail::hd6239ec267353dff 12: 0x55e371a64f15 - ::write_str::h21fef80008e3d1c9 13: 0x55e371a65028 - <&mut W as core::fmt::Write>::write_str::h0c224fc156317a28 14: 0x55e3719e8b9c - core::fmt::write::h4241cb35c54123f4 15: 0x55e371a69f0b - <&T as core::fmt::Display>::fmt::ha42271ccfe1a6f5c 16: 0x55e3719e8b9c - core::fmt::write::h4241cb35c54123f4 17: 0x55e3719e8b9c - core::fmt::write::h4241cb35c54123f4 18: 0x55e371a651b7 - ::log::h82894229be1ef014 19: 0x55e371a5d7a1 - ::log::h7f0e7b246c70ed93 20: 0x55e3719ef225 - log::private_api::log::hd3807a35a528d07c 21: 0x55e371a441dc - sudo_rs::sudo::pipeline::log_command_execution::h1da0e64201b4f25f 22: 0x55e371a3fa81 - sudo_rs::sudo::main::he3caadb9c492adb2 23: 0x55e3719e4bac - std::sys_common::backtrace::rust_begin_short_backtrace::h736abd4b87b7e803 24: 0x55e3719e5154 - main 25: 0x7f63d1d92fce - __libc_start_call_main 26: 0x7f63d1d93089 - libc_start_main_impl 27: 0x55e3719e4ae5 - _start 28: 0x0 -



**Expected behavior**
It should not panic

**Environment (please complete the following information):**
 - Linux distribution: NixOS 24.05
 - `sudo-rs` commit hash: 195d6f851904ab00357f040eef35e31abaebbe1b

**Additional context**
Add any other context about the problem here.
squell commented 9 months ago

Interestingly, I cannot reproduce this on my current machine (Ubuntu 22.04 LTS) , I simply get:

ls: cannot access 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz': File name too long
squell commented 9 months ago

Confirmed with:

sudo ls zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz