CVE-2024-43802

Vim is an improved version of the unix vi text editor. When flushing the typeahead buffer, Vim moves the current position in the typeahead buffer but does not check whether there is enough space left in the buffer to handle the next characters. So this may lead to the tb_off position within the typebuf variable to point outside of the valid buffer size, which can then later lead to a heap-buffer overflow in e.g. ins_typebuf(). Therefore, when flushing the typeahead buffer, check if there is enough space left before advancing the off position. If not, fall back to flush current typebuf contents. It's not quite clear yet, what can lead to this situation. It seems to happen when error messages occur (which will cause Vim to flush the typeahead buffer) in comnination with several long mappgins and so it may eventually move the off position out of a valid buffer size. Impact is low since it is not easily reproducible and requires to have several mappings active and run into some error condition. But when this happens, this will cause a crash. The issue has been fixed as of Vim patch v9.1.0697. Users are advised to upgrade. There are no known workarounds for this issue.
Configurations

No configuration.

History

21 Nov 2024, 09:35

Type Values Removed Values Added
References
  • () https://security.netapp.com/advisory/ntap-20241004-0008/ -

27 Aug 2024, 13:02

Type Values Removed Values Added
Summary
  • (es) Vim es una versión mejorada del editor de texto Unix VI. Al vaciar el búfer de escritura anticipada, Vim mueve la posición actual en el búfer de escritura anticipada pero no verifica si queda suficiente espacio en el búfer para manejar los siguientes caracteres. Por lo tanto, esto puede llevar a que la posición tb_off dentro de la variable typebuf apunte fuera del tamaño de búfer válido, lo que luego puede provocar un desbordamiento del búfer de montón, por ejemplo, en ins_typebuf(). Por lo tanto, al vaciar el búfer de escritura anticipada, verifique si queda suficiente espacio antes de avanzar a la posición de apagado. De lo contrario, recurra para vaciar el contenido actual de Typebuf. Aún no está del todo claro qué puede conducir a esta situación. Parece suceder cuando aparecen mensajes de error (lo que hará que Vim vacíe el búfer de escritura anticipada) en combinación con varios mappgins largos y, por lo tanto, eventualmente puede mover la posición de apagado fuera de un tamaño de búfer válido. El impacto es bajo ya que no es fácilmente reproducible y requiere tener varias asignaciones activas y ejecutar alguna condición de error. Pero cuando esto sucede, provocará un bloqueo. El problema se solucionó a partir del parche Vim v9.1.0697. Se recomienda a los usuarios que actualicen. No se conocen workarounds para este problema.

26 Aug 2024, 19:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-08-26 19:15

Updated : 2024-11-21 09:35


NVD link : CVE-2024-43802

Mitre link : CVE-2024-43802

CVE.ORG link : CVE-2024-43802


JSON object : View

Products Affected

No product.

CWE
CWE-122

Heap-based Buffer Overflow