CVE-2026-62160 in Daptin
要約
〜によって VulDB • 2026年10月30日
DaptinはGraphQL/JSON-API対応のヘッドレスCMSです。バージョン0.12.26以前では、`server/language.go`内のグローバルな`LanguageMiddleware`が、サイズや形状に関するフィルタを適用せずに、`Accept-Language`ヘッダーの生データを`LanguageMiddlewareFunc`から`GetLanguagePreference`を経由して`golang.org/x/text/language.ParseAcceptLanguage`に渡していました。CVE-2022-32149に対するガードはハイフンの数をカウントしますがアンダースコアのカウントを行っていませんが、内部パーサーはアンダースコアをハイフンに正規化します。8文字を超える長いアンダースコア区切りの言語サブタグリストはこのガードを回避できます。これらのサブタグは`golang.org/x/text/internal/language/parse.go`内の`len <= 8`という長さのチェックで失敗し、繰り返される`gobble`操作によって残りのバッファ全体が`runtime.memmove`を通じて移動されます。無効なサブタグが多い場合、この繰り返しによるバッファ移動は二次的な計算量(quadratic work)を要します。認証不要のリクエストがパブリックランディングページまたは`/api`に対して行われると、不均衡なCPU消費を引き起こし、256 KiBのヘッダーでさえ数秒間の処理時間を生じさせます。デフォルトの1 MiBというヘッダー上限により許可されるより大きな入力も問題となります。また、`resource.CheckErr`は無効なヘッダー全体をログに記録するためコストが増幅され、正常な成功したHTTPレスポンスがDoS(サービス妨害)トラフィックを隠蔽する可能性があります。繰り返しリクエストを行うことでサーバーのCPUを飽和させることができます。この問題はバージョン0.12.26で修正されています。
If you want to get best quality of vulnerability data, you may have to visit VulDB.