
notepad++ vulnerabilidad de desbordamiento de búfer en el heap CVE-2023-40031 análisis y reproducción
Análisis y reproducción de la vulnerabilidad de desbordamiento de búfer en el montón de Notepad++ CVE-2023-40031
Notepad++ es un conocido editor de código abierto para Windows que admite múltiples lenguajes de programación. Recientemente, investigadores de seguridad examinaron Notepad++ y descubrieron varias vulnerabilidades de seguridad. Entre ellas, la vulnerabilidad de desbordamiento de búfer en el montón CVE-2023-40031, con una puntuación de 7.8 (CVSS3, sobre 10), es de alto riesgo. Esta vulnerabilidad se encuentra en la función Utf8_16_Read::convert, que al realizar la conversión de UTF-16 a UTF-8 calcula incorrectamente el tamaño del búfer del montón UTF-8 resultante, lo que provoca la sobrescritura de espacio de memoria fuera de dicho búfer, pudiendo llevar a la ejecución arbitraria de código.
<=8.5.6
Sistema operativo: Win7 sp1. Herramientas de análisis: IDA, WinDbg, OLLYDBG.
微信搜索:WebRAY_BTL
Este artículo es únicamente para fines de intercambio técnico, aprendizaje e investigación. Se prohíbe estrictamente el uso de las técnicas aquí descritas con fines ilegales o destructivos. Cualquier consecuencia derivada del mal uso de dichas técnicas no es responsabilidad del autor de este artículo.
Este aviso de exención tiene como objetivo señalar claramente que este artículo es solo para fines de intercambio técnico, aprendizaje e investigación, y no debe utilizarse para ningún propósito ilegal o destructivo. El autor de este artículo no se hace responsable de ningún daño causado por el uso ilegal de las técnicas o por daños a personas o sistemas.
Al leer y consultar este artículo, debe reconocer y comprometerse a no utilizar las técnicas proporcionadas en el artículo para realizar actividades ilegales, infringir los derechos de otros o atacar sistemas. Cualquier accidente, pérdida o daño causado por el uso de las técnicas de este artículo, incluyendo pero no limitado a pérdida de datos, daños a la propiedad, responsabilidades legales, etc., no es responsabilidad del autor.
La información técnica proporcionada en este artículo es solo para fines de aprendizaje y referencia, y no constituye ninguna forma de garantía o aseguramiento. El autor de este artículo no hace ninguna declaración ni garantía sobre la precisión, efectividad o aplicabilidad de las técnicas mencionadas.
This disclaimer is intended to clearly state that this article is solely for the purpose of technical exchange, learning, and research, and the use of the techniques mentioned in the article for any illegal purposes or destructive actions is strictly prohibited. The author of this article shall not be held responsible for any consequences resulting from the misuse of the techniques mentioned.
By reading and referring to this article, you must acknowledge and commit that you will not exploit the techniques provided in the article for any illegal activities, infringement of rights of others, or attacks on systems. The author of this article bears no responsibility for any accidents, losses, or damages caused by the use of the techniques mentioned in this article, including but not limited to data loss, property damage, legal liabilities, etc.
The technical information provided in this article is for learning and reference purposes only and does not constitute any form of warranty or guarantee. The author of this article makes no representations or warranties regarding the accuracy, effectiveness, or applicability of the techniques mentioned.