Если вы используете функцию буфера обмена X11 или аналог -для конкретной платформы и используете вставку средней кнопкой -с включенной поддержкой мыши или команду вставки vim, а не какую-либо команду вставки из терминала (, сдвиг -средняя кнопка -или любые сочетания клавиш, предлагаемые терминалом ), тогда вы можете быть в безопасности.
Если нет, то если у вас есть эмулятор терминала, который поддерживает режим вставки в квадратных скобках -, и вы включили его в своем терминале и в vim, и этот эмулятор терминала реализует защиту от внедрения управляющей последовательности, которая заканчивается режим вставки в квадратных скобках -, тогда вы можете быть в безопасности.
Если нет, то вы можете быть уязвимы для атаки, описанной здесь .
What's worse is that the terminals are fine.
Сомневаюсь. Это гораздо более сложная история, чем вы, вероятно, думаете. Терминалы ведут себя по-разному, и поведение одного может быть правильным -- -левым с определенным набором приложений, в то время как поведение других может быть дружественным к RTL с другим набором приложений.
Local files are displayed correctly.
Опять же, это сильно зависит от того, что вы подразумеваете под «отображаемым» :, вы cat
их открываете или открываете с помощью vim
, emacs
, less
, какого-либо другого приложения и т. д. Может быть, с помощью некоторых терминалы cat
дают ожидаемый результат, а vim
неожиданный, с другими терминалами наоборот.
Вас может заинтересовать этот технический документ объемом около 50 -страниц, в котором изучается ситуация и предлагается способ решения проблем, чтобы терминал мог поддерживать несколько режимов,и как таковые поддерживают, казалось бы, противоречивые требования различных типов приложений.
VTE версии 0.58 реализует предложенное решение. VTE — это механизм эмуляции терминала, используемый lxterminal
и xfce4-terminal
наряду со многими другими терминалами. То, видите ли вы «хорошее» или «плохое» поведение в этом программном обеспечении, может легко зависеть от версии VTE. Однако, опять же, возможно, что старое поведение покажется вам «хорошим», а новое — «плохим», в зависимости от того, какие типы приложений вы тестируете. В этом случае с VTE >= 0,58 вы можете использовать escape-последовательности, упомянутые в документе, для переключения режима, например. printf "\e[8l"
, чтобы вернуться к старому поведению.
ssh
не имеет значения, за исключением того, что локальная или удаленная версия программного обеспечения может различаться.