概要
DiceBearは、デザイナーや開発者向けのアバターライブラリです。このライブラリの@dicebear/converterコンポーネントに含まれるensureSize()関数に、SVGの寸法制限をバイパスできる脆弱性(CVE-2026-33418)が発見されました。
この関数は、サービス拒否(DoS)攻撃を防ぐため、SVGのwidthおよびheight属性を2048pxに制限する目的で正規表現を使用していましたが、特定の細工されたSVG入力によってこの制限が回避される可能性がありました。
結果として、攻撃者が指定した大きな寸法でSVGがレンダリングされ、メモリ不足によるアプリケーションのクラッシュ(DoS)を引き起こす恐れがあります。
影響範囲
DiceBearアバターライブラリの@dicebear/converterコンポーネントを使用しているシステムが影響を受ける可能性があります。
具体的には、バージョン9.4.2より前の@dicebear/converterが本脆弱性の影響を受けると報告されています。
想定される影響
本脆弱性が悪用された場合、攻撃者によって細工されたSVGデータが処理されることで、アプリケーションが大量のメモリを消費し、最終的にサービス拒否(DoS)状態に陥る可能性があります。これにより、システムが一時的に利用不能になる恐れがあります。
攻撃成立条件・悪用状況
攻撃者は、脆弱なバージョンの@dicebear/converterを使用しているシステムに対して、XMLコメントインジェクションを含む細工されたSVGデータを入力として提供できる必要があります。
現在のところ、本脆弱性の具体的な悪用状況に関する公開情報は確認されていません。
推奨対策
最優先で実施すべき対策
@dicebear/converterをバージョン9.4.2以降にアップデートしてください。このバージョンでは、正規表現ベースのアプローチがXMLを認識するfast-xml-parserに置き換えられ、SVGルート要素の属性が正確に処理されるようになっています。- また、防御的深層防衛として
renderAsync呼び出しにfitTo制約が追加されており、レンダリング出力が常に制限されるようになっています。
一時的な緩和策
本脆弱性に対する最も確実な対策は、速やかにバージョンアップを実施することです。バージョンアップが困難な場合、SVG入力の検証を強化し、信頼できないソースからのSVGデータ処理を制限することが考えられますが、これは根本的な解決にはなりません。
確認方法
ご自身のシステムで使用している@dicebear/converterのバージョンを確認してください。バージョンが9.4.2未満である場合、本脆弱性の影響を受ける可能性があります。
参考情報
- CVEfeed.io: CVE-2026-33418