RHSA-2026:55431HighCVSS 7.8

Red Hat Security Advisory: vim security update

Published
August 17, 2026
Last Modified
August 18, 2026

🔗 CVE IDs covered (8)

📋 Description

CVE-2026-47162 — vim: Vim: Arbitrary Code Execution via crafted directory names CVE-2026-47167 — vim: Vim: Arbitrary code execution via crafted step-definition patterns CVE-2026-52858 — vim: Vim: Arbitrary code execution via Python omni-completion CVE-2026-55693 — vim: Vim: Out-of-bounds Write in Spell File Word Count CVE-2026-57455 — vim: Vim: Denial of Service via stack out-of-bounds write in spell_soundfold_sofo() CVE-2026-57456 — vim: Vim: Arbitrary code execution via malicious docstrings in Python omni-completion CVE-2026-59856 — vim: Vim: Arbitrary code execution via crafted PHP file in omni-completion CVE-2026-59858 — vim: Vim: Arbitrary command execution via crafted tags file in C omni-completion

🎯 Affected products73

  • Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-2:9.1.083-5.el10_0.4.src as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-X11-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-2:9.1.083-5.el10_0.4.ppc64le as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-2:9.1.083-5.el10_0.4.s390x as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-2:9.1.083-5.el10_0.4.x86_64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.ppc64le as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.ppc64le as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.s390x as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.s390x as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.x86_64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-X11-debuginfo-2:9.1.083-5.el10_0.4.x86_64 as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-common-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-common-2:9.1.083-5.el10_0.4.ppc64le as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-common-2:9.1.083-5.el10_0.4.s390x as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-common-2:9.1.083-5.el10_0.4.x86_64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-data-2:9.1.083-5.el10_0.4.noarch as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.ppc64le as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.ppc64le as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.s390x as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.s390x as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.x86_64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-debuginfo-2:9.1.083-5.el10_0.4.x86_64 as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • vim-debugsource-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux AppStream EUS (v. 10.0)
  • vim-debugsource-2:9.1.083-5.el10_0.4.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v. 10.0)
  • +43 more not shown

✅ Remediation

For details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258 Workaround: To mitigate this issue, users should exercise caution when opening untrusted files or repositories with Vim, particularly those that might trigger the `cucumber` filetype plugin. Avoiding interaction with untrusted content can prevent the execution of malicious step-definition patterns. Workaround: Users can mitigate this vulnerability by disabling Python omni-completion in Vim if it is not essential for their workflow. This prevents the execution of untrusted Python code when opening hostile files. To disable this feature, ensure that the `omnifunc` option in your Vim configuration (e.g., `~/.vimrc`) is not set to `pythoncomplete#Complete` or `python3complete#Complete`. Alternatively, users should avoid invoking omni-completion (`Ctrl-X Ctrl-O`) on Python files from untrusted sources. Disabling Python omni-completion may affect Python development functionality within Vim. Workaround: To mitigate this issue disable spell checking or avoid using SOFO-based spell files. This can be achieved globally by adding set nospell to your ~/.vimrc configuration file. Ensure your systems utilize standard UTF-8 encoding. This flaw is strictly confined to legacy 8-bit encodings and cannot be triggered under default Red Hat configurations. Workaround: To mitigate this vulnerability, users should avoid opening untrusted Python files or using Python omni-completion on such files. If Python omni-completion is not required, it can be disabled by adding `autocmd FileType python setlocal omnifunc=` to your `.vimrc` file. This will prevent the vulnerable code from being executed. Disabling Python omni-completion will remove the ability to use `Ctrl-X Ctrl-O` for Python code completion. A restart of Vim is required for the changes to take effect. Workaround: Users should exercise caution when opening untrusted PHP files and avoid invoking omni-completion on them. To prevent exploitation, the PHP omni-completion script can be disabled by moving or renaming `phpcomplete.vim`. For example, execute `mv /usr/share/vim/vim*/autoload/phpcomplete.vim /usr/share/vim/vim*/autoload/phpcomplete.vim.bak`. This action will disable PHP omni-completion functionality. A restart of Vim is necessary for this change to take effect. Workaround: Users are advised to avoid opening untrusted C source files or project tags files in Vim. Exercising caution and only processing trusted content prevents exploitation.

🔗 References (9)