Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-49606 — Tinyproxyで発見された重大なUse-After-Free脆弱性 | Kitploit
ツール/GitHubGitHub/d0rb/cve-2023-49606
メモリフォレンジック脆弱性分析コード分析エクスプロイト学習と教育バイナリエクスプロイト
GitHubd0rb/cve-2023-49606

CVE-2023-49606

Tinyproxyで発見された重大なUse-After-Free脆弱性

リポジトリを見る
42年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Profile Visitors

🇮🇱 #BringThemHome #NeverAgainIsNow 🇮🇱

我々は、テロ組織ハマスに人質として連れ去られたすべての市民の安全な帰還を要求します。すべての人が解放され、無事に帰宅するまで、我々は決して休みません。あなたも彼らを家に連れ戻すために力を貸せます。 https://stories.bringthemhomenow.net/

CVE-2023-49606: TinyproxyにおけるUse-After-Free脆弱性分析

🚨 重大な脆弱性警告 🚨

TinyproxyにおけるCVE-2023-49606の技術レポート

脆弱性概要

🔍 CVE-2023-49606 は、軽量HTTP/SプロキシサーバーであるTinyproxyで発見された重大なUse-After-Free脆弱性です。この欠陥は、Tinyproxyのバージョン1.11.1および1.10.0におけるHTTP Connection Headerの処理に存在します。この脆弱性により、サービス拒否(DoS)攻撃が可能になり、特定の条件下ではリモートコード実行(RCE)に至る可能性があります。

影響を受けるバージョン

  • Tinyproxy 1.11.1
  • Tinyproxy 1.10.0

📈 CVSSスコア: 9.8(Critical)

脆弱性の詳細

この脆弱性は、HTTPヘッダーを処理する際のメモリの不適切な管理に起因します。ソースコードhttp-message.cでは、HTTPヘッダーのメモリ操作(割り当て、再割り当て、解放)が行われています。問題は、メモリの再割り当てとその後の解放済みメモリへのアクセス(正しくヌル化されていない)のコンテキストで発生する可能性があります。

コード解析

以下はhttp-message.cからの該当コードの抜粋です:

root@kitploit:~
/* Function to add headers to the HTTP message structure */
void http_message_add_headers(http_message_t *msg, const char **headers, unsigned int num_headers) {
    const char **new_headers;
    unsigned int i;

    if (headers == NULL) {
        return;
    }

    // Check if there is enough space, if not, reallocate
    if (msg->headers.used + num_headers > msg->headers.total) {
        new_headers = (const char **) safecalloc (msg->headers.total * 2, sizeof(char *));
        if (new_headers == NULL) {
            return;  // Allocation failed, potential for use-after-free if not handled
        }

        // Copy existing headers to the new array
        for (i = 0; i != msg->headers.used; ++i) {
            new_headers[i] = msg->headers.strings[i];
        }
        safefree(msg->headers.strings);  // Free old array
        msg->headers.strings = new_headers;  // Danger if old pointers are used post this point
        msg->headers.total *= 2;
    }

    // Add new headers to the structure
    for (i = 0; i != num_headers; ++i) {
        msg->headers.strings[i + msg->headers.used] = headers[i];
    }
    msg->headers.used += num_headers;
}
ツールをダウンロード