【活用ガイド】

JVNDB-2016-003788

Objective Systems ASN1C で生成したソースコードにバッファオーバーフローの脆弱性

概要

ASN.1 は、ネットワークや通信アプリケーションにおける標準的なデータ構造の記法です。Objective Systems が提供する ASN1C を使用して生成した C または C++ のソースコード内にヒープベースのバッファオーバーフローの脆弱性が存在する問題があります。

ヒープベースのバッファオーバーフロー (CWE-122) - CVE-2016-5080
ASN1C は、ASN.1 構文から高級言語のソースコードを生成するのに使用されます。報告者によれば、ASN1C で生成された C または C++ のソースコードには、ヒープマネージャの rtxMemHeapAlloc 関数にヒープベースのバッファオーバーフローの脆弱性が存在します。2016年7月20日現在、類似する脆弱性が Java や C# などで出力されたソースコードに存在するかは不明です。

攻撃者がこのバッファオーバーフローを使用して、認証なしで遠隔からシステム上で任意のコードを実行することが考えられますが、本脆弱性を使用した攻撃による影響は、システムがどのように rtxMemHeapAlloc 関数を使用しているかによって異なります。具体的には、信頼できない通信相手から受信した ASN.1 データを処理すると、本脆弱性の影響を受ける可能性があります。自社製品の開発に ASN1C を使用している開発者は、自社製品に本脆弱性が含まれるかどうか、ソースコードを検証する必要があります。

報告者は、さらに詳しい情報をセキュリティアドバイザリとして公開しています。

セキュリティアドバイザリ
https://github.com/programa-stic/security-advisories/tree/master/ObjSys/CVE-2016-5080

なお、National Vulnerability Database (NVD) では、CWE-190、JVNVU#92232364 では、CWE-122 として公開されています。

CWE-190: Integer Overflow or Wraparound
http://cwe.mitre.org/data/definitions/190.html

CWE-122: Heap-based Buffer Overflow
http://cwe.mitre.org/data/definitions/122.html
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 9.8 (緊急) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
CVSS v2 による深刻度
基本値: 10.0 (危険) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃前の認証要否: 不要
  • 機密性への影響(C): 全面的
  • 完全性への影響(I): 全面的
  • 可用性への影響(A): 全面的
影響を受けるシステム


Objective Systems
  • ASN1C 7.0.1.x およびそれ以前で作成された C または C++ のソースコード

想定される影響

本脆弱性による影響はアプリケーションによって異なります。最も深刻な場合、信頼できない通信相手から受信した ASN.1 データを処理することで、遠隔の第三者によってアプリケーションの権限 (root または SYSTEM 権限など) で任意のコードを実行される可能性があります。
対策

[アップデートする]
Objective Systems は本脆弱性を修正した ASN1C 7.0.1.x シリーズ向けの hotfix をリリースしています。ASN1C のユーザは Objective Systems へお問い合わせください。ユーザは別のヒープマネージャを使用するか、生成されたソースコードを編集し、本脆弱性を取り除くことも可能です。

ASN1C 7.0.2 では本脆弱性が修正される予定ですが、2016年7月20日現在、ASN1C 7.0.2 のリリース日時は未定です。
ベンダ情報

Objective Systems
CWEによる脆弱性タイプ一覧  CWEとは?

  1. その他(CWE-Other) [IPA評価]
  2. その他(CWE-Other) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2016-5080
参考情報

  1. JVN : JVNVU#99625371
  2. National Vulnerability Database (NVD) : CVE-2016-5080
  3. US-CERT Vulnerability Note : VU#790839
  4. 関連文書 : Heap memory corruption in ASN.1 parsing code generated by Objective Systems Inc. ASN1C compiler for C/C++
  5. 関連文書 : Kwetsbaarheid verholpen in ASN1C (オランダ国家サイバーセキュリティセンターによる脆弱性情報 - オランダ語)
更新履歴

  • [2016年07月21日]
      掲載