[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: The ls command



On 2025-11-01 12:13:35 +0100, Vincent Lefevre wrote:
> And without needing the -k8 (since control / escape sequences using
> 128-159 have their ASCII equivalent):
> 
> $ xterm -xrm '*VT100.reverseWrap: true' -e 'printf "\eZ\n\x08"; sleep 2'
> Segmentation fault (core dumped)
> $ echo $?
> 139

Or in a running xterm with reverseWrap, e.g. started with

  xterm -xrm '*VT100.reverseWrap: true'

if this is not in your default settings:

  printf "\e[H\e[c\n\b"

And if you have a filename with such a character sequence, the crash
can be triggered via error messages from some utilities that do not
ensure that every character from the error message are printable.
For instance, in a new directory:

  touch "$(printf "file\e[H\e[c\n\b")"
  gunzip file*

This was the example I gave at

  https://www.openwall.com/lists/oss-security/2025/08/13/4

More generally, with any terminal, escape sequences can also modify
the terminal status, making it more or less unusable without a reset.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)


Reply to: