Re: [LFS Trac] #4500: vim-9.1.???? (Update before release)

"LFS Trac" ([email protected] via lfs-book Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.book
Message-ID <[email protected]>
#4500: vim-9.1.???? (Update before release)
-------------------------+-----------------------
 Reporter:  Bruce Dubbs  |       Owner:  lfs-book
     Type:  task         |      Status:  new
 Priority:  normal       |   Milestone:  Hold
Component:  Book         |     Version:  git
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------
Comment (by Joe Locash):

 {{{
 Vim modeline bypass via various options affects Vim < 9.2.0276
 ==============================================================
 Date: 31.03.2026
 Severity: High
 CVE: *not yet assigned*
 CWE: Improper Neutralization of Special Elements used in an OS Command
 ('OS Command Injection') (CWE-78)

 ## Summary
 A modeline sandbox bypass in Vim allows arbitrary OS command execution
 when a user opens a crafted file. The `complete`, `guitabtooltip` and
 `printheader` options are missing the `P_MLE` flag, allowing a modeline
 to be executed. Additionally, the `mapset()` function lacks a
 `check_secure()` call, allowing it to be abused from sandboxed
 expressions.

 ## Description
 The `complete` option (`src/optiondefs.h:684`) accepts `F{func}` syntax
 to register completion callbacks (added in patch 9.1.1178), similar to
 how `completefunc` works. However, unlike `completefunc` which has
 `P_SECURE`, `complete` has neither `P_SECURE` nor `P_MLE`, so the
 modeline security check at `src/option.c:1565-1571` is bypassed and
 arbitrary lambda expressions are accepted from modelines.

 Similar effects can be achieved by setting the `guitabtooltip` and
 `printheader` options via a modeline and abusing the `mapset()` function
 to execute arbitrary code on random key mappings.

 ## Impact
 An attacker who can deliver a crafted file to a victim achieves
 arbitrary command execution with the privileges of the user running Vim.

 ## Acknowledgements
 The Vim project would like to thank "dfwjj x" and "Avishay Matayev" for
 identifying the vulnerability chain, providing a detailed root cause
 analysis and reproduction steps

 ## References
 The issue has been fixed as of Vim patch
 [v9.2.0276](https://github.com/vim/vim/releases/tag/v9.2.0276)

 -
 [Commit](https://github.com/vim/vim/commit/75661a66a1db1e1f3f1245c615f13a7)
 - [GitHub Advisory](https://github.com/vim/vim/security/advisories/GHSA-
 8h6p-m6gr-mpw9)
 }}}
-- 
Ticket URL: <https://wiki.linuxfromscratch.org/lfs/ticket/4500#comment:54>
LFS Trac <https://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.

-- 
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.