เจตเจฟเจฎ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจœเฉ‹ เจ‡เฉฑเจ• เจ–เจคเจฐเจจเจพเจ• เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเจฃ เจตเฉ‡เจฒเฉ‡ เจ•เฉ‹เจก เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ

เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฟเจฎ ะธ เจจเจฟเจ“เจตเจฟเจฎ เจชเจพเจ‡เจ† เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ (CVE-2019-12735), เจœเฉ‹ เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เฉ€เจคเฉ€ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเจฃ เจตเฉ‡เจฒเฉ‡ เจ†เจฐเจฌเจฟเจŸเจฐเจฐเฉ€ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจธเจฎเฉฑเจธเจฟเจ† เจ‰เจฆเฉ‹เจ‚ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจกเจฟเจซเฉŒเจฒเจŸ เจฎเจพเจกเจฒเฉ€เจจ เจฎเฉ‹เจก (":เจธเฉˆเฉฑเจŸ เจฎเจพเจกเจฒเจฒเจพเจˆเจจ") เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เฉ€เจคเฉ€ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเฉฐเจชเจพเจฆเจจ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจจเจฟเจธเจผเจšเจฟเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ
เจตเจฟเจฎ เฉฎ.เฉง.เฉงเฉฉเฉฌเฉซ ะธ เจจเจฟเจ“เจตเจฟเจฎ 0.3.6.

เจฎเจพเจกเจฒเจฒเจพเจˆเจจ เจฐเจพเจนเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจธเฉ€เจฎเจค เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจตเจฟเจ•เจฒเจช เจธเจฅเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจœเฉ‡เจ•เจฐ เจ•เจฟเจธเฉ‡ เจธเจฎเฉ€เจ•เจฐเจจ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจช เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเฉˆเจ‚เจกเจฌเฉŒเจ•เจธ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจธเจฟเจฐเจซเจผ เจธเจฐเจฒ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจตเฉˆเจง เจ•เจฎเจพเจ‚เจก เจตเจฟเฉฑเจš โ€œ: เจธเจฐเฉ‹เจคโ€ เจ•เจฎเจพเจ‚เจก เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ โ€œ!โ€ เจธเฉ‹เจงเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจจเจฟเจฐเจงเจพเจฐเจค เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจ†เจฐเจฌเจฟเจŸเจฐเฉ‡เจฐเฉ€ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจฎเจพเจกเจฒ เจฒเจพเจˆเจจ เจตเจฟเฉฑเจš "set foldexpr=execute('\:source! some_file'):" เจตเจฐเจ—เฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจฃเจพ เจ•เจพเจซเจผเฉ€ เจนเฉˆเฅค เจจเจฟเจ“เจตเจฟเจฎ เจตเจฟเฉฑเจš, เจ•เจพเจฒเจฟเฉฐเจ— เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸ เจฆเฉ€ เจฎเจจเจพเจนเฉ€ เจนเฉˆ, เจชเจฐ เจ‡เจธเจฆเฉ€ เจฌเจœเจพเจ assert_fails เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, โ€œuname -aโ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจธเจฟเจฐเจซเจผ Vim เจœเจพเจ‚ Neovim เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจœเจฟเจธเจฆเฉ€ เจชเจนเจฟเจฒเฉ€ เจœเจพเจ‚ เจ†เจ–เจฐเฉ€ เจฒเจพเจˆเจจ เจ•เจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ:

:!uname -a||ยป vi:fen:fdm=expr:fde=assert_fails(โ€œเจธเจฐเฉ‹เจค\!\%โ€):fdl=0:fdt=โ€

เจ•เฉฐเจชเจจเฉ€ "เจธเจฐเฉ‹เจค! %" เจฎเฉŒเจœเฉ‚เจฆเจพ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‰เจธ เจ…เจจเฉเจธเจพเจฐ ":!uname -a" เจจเฉ‚เฉฐ เจšเจฒเจพเจเจ—เจพเฅค เจ•เฉˆเจŸ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจคเฉ‹เจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจฒเจพเจˆเจจ เจจเฉ‚เฉฐ เจ›เฉเจชเจพเจ‰เจฃ เจฒเจˆ Escape เจ•เฉเจฐเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจธ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจŸเฉ‹เจŸเจพเจˆเจช เจฆเจพ เจธเจผเฉ‹เจธเจผเจฃ vim เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเจฃ เจตเฉ‡เจฒเฉ‡, เจ‡เฉฑเจ• เจจเฉˆเจŸเจตเจฐเจ• เจ•เจจเฉˆเจ•เจธเจผเจจ เจชเฉ€เฉœเจค เจฆเฉ‡ เจธเจฟเจธเจŸเจฎ เจฒเจˆ เจธเจผเฉˆเฉฑเจฒ เจเจ•เจธเฉˆเจธ เจจเจพเจฒ เจฌเจฃเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจซเจพเจˆเจฒ เจ•เฉˆเจŸ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฑเจš เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจธเจผเฉฑเจ• เจชเฉˆเจฆเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เฉ€เฅค

เจคเฉเจธเฉ€เจ‚ ":set modeline?" เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจฎเจพเจกเจฒเฉ€เจจ เจฎเฉ‹เจก เจฆเฉ€ เจ—เจคเฉ€เจตเจฟเจงเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจธเจจเฉ‚เฉฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ vimrc เจตเจฟเฉฑเจš "เจธเฉˆเฉฑเจŸ เจจเฉ‹เจฎเฉ‹เจกเจฒเจพเจˆเจจ" เจฒเจพเจˆเจจ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ RHEL, เจธเฉ‚เจธเฉ‡/เจ“เจชเจจเจธเฉ‚เจธเฉ‡, เจซเฉ‡เจกเฉ‹เจฐเจพ, เจซเฉเจฐเฉ€เจธเจฌเฉˆเจก, เจ‰เจฌเจคเฉ‚เฉฐ, Arch เจฒเฉ€เจจเจ•เจธ ะธ ALT. เจตเจฟเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจ…เจฃเจชเจ›เจพเจคเฉ€ เจฐเจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจกเฉ‡เจฌเฉ€เจ…เจจ (เจกเฉ‡เจฌเฉ€เจ…เจจ เจฎเจพเจกเจฒเฉ€เจจ เจตเจฟเฉฑเจš เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ…เจฏเฉ‹เจ— เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจกเจฟเจซเฉŒเจฒเจŸ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ€)เฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹