Sploitus

Exploit for CVE-2022-31902

kitploit Β· 2026-08-30

Exploit Code

MARKDOWN85 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CDACESEC-CVE-2022-31902
# **CVE-2022-31902**

  * ΠžΡ‚ΠΊΠ°Π· Π² обслуТивании (DoS) Π² `Notepad++(x86)` вСрсии `8.4.3` ΠΈ Ρ€Π°Π½Π΅Π΅.



# **ОписаниС**

  * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ уязвимости происходит ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ созданного тСкстового Ρ„Π°ΠΉΠ»Π° (`Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, first.txt`) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ использовании ΠΎΠΏΡ†ΠΈΠΉ `Find All in All Opened Document` ΠΈΠ»ΠΈ `Find All in Current Opened Document` Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ поиска.



Π’ качСствС ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½ΠΈΠΆΠ΅, ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° `11/07/2022`, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ послСдняя вСрсия Notepad++(x86) 8.4.3.

![Notepad](https://raw.githubusercontent.com/cdacesec/cve-2022-31902/HEAD/npp_images/NppVer.png)

# Π”ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ -

  * ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ first.txt ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ поиск любого символа Π² Notepad++, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ `Find All in All Opened Document` ΠΈΠ»ΠΈ `Find All in Current Opened Document`.



![NotepadCrash](https://raw.githubusercontent.com/cdacesec/cve-2022-31902/HEAD/npp_images/02SearchAnyCharacter.png)

# 

### Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

![NotepadCrash](https://raw.githubusercontent.com/cdacesec/cve-2022-31902/HEAD/npp_images/02RuntimeCrash.png)

# 

## Анализ дампа в Visual Studio 2019

# 

![NotepadCrash](https://raw.githubusercontent.com/cdacesec/cve-2022-31902/HEAD/npp_images/02ErrorPoint.png)

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° находится Π² **ScintallComponent - > ScintillaWin.cxx -> строка 3699.**

# 

## Анализ ΠΏΠ΅Ρ€Π²ΠΎΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹

  * Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ поиска Notepad++ Π² `first.txt`, это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΡ€Π°Ρ…Ρƒ прилоТСния.

  * Notepad++ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ **finder::add** Π² Ρ„Π°ΠΉΠ»Π΅ **findReplaceDlg.cpp** , которая Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ push_back(foundinfo), которая, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ **4bf21**.

  * Из-Π·Π° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти `new_operator` Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ **bad_alloc**.

  * Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ поиск символа Π² `first.txt` с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ `Find All in All Opened Document` ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ Π² обслуТивании.




# 

## ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ вСрсии

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсиях:

  * Notepad++ 8.3.2 32-bit
  * Notepad++ 8.3.3 32-bit.
  * Notepad++ 8.4.0 32-bit.
  * Notepad++ 8.4.1 32-bit.
  * Notepad++ 8.4.2 32-bit.
  * Notepad++ 8.4.3 32-bit.



# 

## ВСстовая срСда

  * Windows 11 - 22563.1000 64 bit
  * Windows 10 - 10.0.19042.1586 64-bit
  * Windows 10 - 10.0.19044.1706 64-bit



## ОбновлСниС

  * По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 05-01-2023 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всё Π΅Ρ‰Ρ‘ сохраняСтся Π² `Notepad++ вСрсиях 8.4.8 (32-Π±ΠΈΡ‚) ΠΈ Ρ€Π°Π½Π΅Π΅`.
  * По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 01-02-2023 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всё Π΅Ρ‰Ρ‘ сохраняСтся Π² `Notepad++ вСрсиях 8.4.9 (32-Π±ΠΈΡ‚) ΠΈ Ρ€Π°Π½Π΅Π΅`.