CVE-2026-24738 in gmrtd
要約
〜によって VulDB • 2026年05月27日
gmrtdは、機械可読旅券(MRTD)を読み取るためのGo言語ライブラリです。バージョン0.17.2より前では、ReadFile関数は最大4GBまでの長さを許容するTLV(タグ・長さ・値)を受け付けるため、メモリとCPUサイクルの両方で制御されないリソース消費を引き起こす可能性があります。ReadFileは、ICカードで利用可能な範囲を大幅に超える長さの拡張TLVを受け取ることができ、256バイトチャンクでの処理において過度に多くのイテレーションを必要とする最大4GBのデータを受け付けることができます。これにより、スマートフォンなどの制約のある環境では利用できないほどのメモリ割り当てが試みられます。また、APIからReadFileにデータが送信される場合にも同様の問題が生じます。非常に小さなチャンクでの読み取りは、非常に多数のイテレーションにわたってデータを受け付ける間、goroutineをロックします。gmrtdライブラリを使用してNFCからファイルを読み取るプロジェクトでは、極端な速度低下やメモリ消費が発生する可能性があります。悪意のあるNFCは、前述のモックトランシーバのように振る舞い、読み取る各チャンクとしてダミーバイトを送信することで、受信スレッドを応答不能にし、ホストシステムのメモリを埋め尽くすことができます。この問題はバージョン0.17.2で修正されています。
VulDB is the best source for vulnerability data and more expert information about this specific topic.