macvim-dev / macvim-dev/macvim
[Security] MacVim affected by CVE-2026-41411 — tag file command injection (vim < 9.2.0357)
Personne n'a encore pris cette issue.
- Langage dominant
- Vim Script
- Étoiles
- 7.9k
- Forks
- 691
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
[Security] MacVim affected by CVE-2026-41411 — tag file command injection (vim < 9.2.0357)
Summary
MacVim bundles the vim source at version 9.2 (patches 1-332 in the current build), which is
below the patched version 9.2.0357 that fixes CVE-2026-41411.
Vulnerability Details
- Upstream CVE: CVE-2026-41411
- Inherited from:
vim/vim - Affected code: tag file processing (wildcard expansion of filename fields)
- Vulnerability type: CWE-78 — OS Command Injection
- Fixed in: vim 9.2.0357 (commit
c78194e41d5a0b05b0ddf383b6679b1503f977fb)
Root Cause
Prior to vim 9.2.0357, when resolving a tag, the filename field from the tags file is passed
through wildcard expansion to resolve environment variables and wildcards. If a crafted tags
file contains a filename with shell metacharacters or backtick-enclosed commands, those
commands are executed when the tag is resolved.
An attacker who can influence the tags file (e.g., via a malicious project or downloaded
code repository) can achieve arbitrary command execution when the victim opens a file and
navigates to a tag definition.
Affected MacVim Version
MacVim r183 (vim 9.2 patches 1-332) — current HEAD as of 2026-05-18.
The fix commit c78194e41d5a0b05b0ddf383b6679b1503f977fb from vim/vim is not present
in the macvim-dev/macvim repository:
git log --all --oneline | grep c78194e # returns no output
Suggested Fix
Merge or cherry-pick vim/vim patches up to at least 9.2.0357:
References
- CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-41411
- Upstream advisory: https://github.com/vim/vim/security/advisories/GHSA-7rvw-9w8x-xhwx
- Upstream fix commit: https://github.com/vim/vim/commit/c78194e41d5a0b05b0ddf383b6679b1503f977fb
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par inspecter le code source de Vim inclus et son historique, puis comparez le dépôt avec le commit upstream c78194e41d5a0b05b0ddf383b6679b1503f977fb ; l’issue indique que git log ne trouve actuellement aucun commit correspondant. Mettez à jour les patches Vim inclus vers au moins 9.2.0357 et vérifiez que la build MacVim intègre le correctif de sécurité upstream pour tag-file.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- macos, vim
- Domaine
- desktop, security
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 55/100