本文へジャンプ

(参考)Lotus Domino Web Server の "Accept-Language" スタックオーバーフロー

この文書は、米国 IBM 社の資料 ("Lotus Domino Web Server “Accept-Language” Stack Overflow ") を翻訳した参考文書です。日本語環境での検証は行っておりませんのでご注意ください。

問題 (Problem)

Lotus Domino Web サーバーの潜在的な DoS 攻撃に関する脆弱性の問題が、MWR InfoSecurity より IBM Lotus に報告されました。

この問題は、"Accept - Language" リクエストヘッダに特定の内容を含む HTTP リクエストを Lotus Domino Web サーバーが処理したときに発生する可能性があります。

アドバイザリー (注意喚起) へは下記のリンクからアクセスできます。
MWR InfoSecurity - Publications

CVE 識別番号として CVE-2008-2240 が付与されています。


攻撃者がこの脆弱性を利用するためには、下記の手順を踏む必要があります。
・ Lotus Domino Web Server タスク (HTTP) が有効になっている
・ 攻撃者が Lotus Domino Web サーバーに接続する
・ 攻撃者が脆弱性の問題を引き起こす "Accept - Language" ヘッダを含む HTTP リクエストを作成する
・ Lotus Domino Web サーバーが悪意あるリクエストを処理することにより、DoS 攻撃が引き起こされる

Lotus Domino サーバーがクラッシュすると、NSD に下記のスタックトレースが出力されます。

nlsccstr.dll!ccSTRIOpenStrSessionInt(LNO_INFO * * phStr=0x61616161, const void * pCountry=0x61616161, const void * pLanguage=0x61616161, cctSTRCharSettag CSId=1633771873, unsigned char OptGroup='a', unsigned short * pSubstChar=0x612fb17c, cctSTRIAnchorBlockTag * pAnchorBlock=0x06054ae4, unsigned long StrSessionFlags=0) Line 898 + 0xe C 61616161()
nnotes.dll!OSGetCachedCLS(unsigned short CSID=256, char * CtryLang=0x078d146c) Line 2674 + 0x46 C
nnotes.dll!DominoUnEscape(unsigned short TokenType=1, int bLmbcsInput=0, const char * In=0x078e206f, unsigned short InLen=22, char * Out=0x07ddf078, unsigned short * OutLen=0x07ddf004, char * pLang=0x078d146c) Line 1249 + 0xe C
nnotes.dll!TranslateURITokenToLMBCS(const char * EncType=0x017a73c0, unsigned short TokenType=1, int bLmbcsInput=0, const char * In=0x078e206f, unsigned short InLen=22, char * Out=0x07ddf078, unsigned short * OutLen=0x07ddf004, char * pLang=0x078d146c) Line 406 + 0x23 C
ninotes.dll!CmdURL::DecSegmentFull(unsigned short type=1, char * segment=0x078e206f, int segmentLen=22, char * buf=0x07ddf078, int bufLen=32, int isLmbcs=0) Line 1700 + 0x2d C++
ninotes.dll!CmdURL::DecodeSegment(unsigned short type=1, char * segment=0x078e206f, int segmentLen=22, char * buf=0x07ddf078, int bufLen=32, int isLmbcs=0) Line 1595 C++
ninotes.dll!CmdURL::SetCommandId() Line 913 + 0x2b C++
ninotes.dll!CmdURL::Init(int & retIsOurs=0, unsigned int httpMethodType=2, const char * reqUrl=0x07544ee0, const char * reqPath=0x07544af0, const char * reqQuery=0x07544afc, unsigned long fl=2, unsigned short (void *, unsigned short, char *, void *, UNIVERSALNOTEID_tag *, unsigned short *, char *, int)* lookupFcn=0x014b8720, void * lookupData=0x07ddf438) Line 341 + 0xc4 C++
ninotes.dll!InotesHTTPPreAuthenticate(_InotesHTTPrequest * ihReq=0x07544690) Line 2434 + 0x78 C++
nhttpstack.dll!HTInotesRequest::PreAuthenticate() Line 758 + 0xc C++
nhttpstack.dll!HTRequestExtContainer::PreAuthenticate() Line 625 + 0x19 C++
nhttpstack.dll!HTRequest::ProcessRequest() Line 1690 + 0x21 C++
nhttpstack.dll!HTSession::StartRequest() Line 551 + 0x11 C++
nhttpstack.dll!HTWorkerThread::CheckForWork() Line 216 C++
nhttpstack.dll!HTWorkerThread::ThreadMain() Line 83 C++
nhttpstack.dll!HTThreadBeginProc(void * arg=0x02b980f4) Line 40 C++
nnotes.dll!ThreadWrapper(void * Parameter=0x00000000) Line 1037 C
kernel32.dll!7c80b683()

解決策 (Solution)

本件は問題報告番号 MKIN79DR9S として Lotus Quality Engineering に報告され、Lotus Domino 7.0.3 Fix Pack 1 (FP1)、7.0.4 および 8.0.1 で修正されました。

補足情報 (Supporting Information)

本事象はセキュリティ問題に該当しているため、問題の再現手順など詳細に関するお問い合わせについて、ここに掲載された以上の情報提供を行っておりません。セキュリティ保全の観点による措置のため、あらかじめご了承いただきますようお願いします。

重要度、発生頻度など当事象を評価する情報については、以下の CVSS 評価値を利用ください。CVSS の評価値の読み方については、「共通脆弱性評価システム CVSS V2 概説」 をご参照ください。

Security Rating using Common Vulnerability Scoring System (CVSS) version 2
CVSS Base Score: < 7.8 >
-- Impact Subscore: < 6.9 >
-- Exploitability Subscore: < 10 >
CVSS Temporal Score: < 6.1 >
CVSS Environmental Score: < Undefined* >
Overall CVSS Score: < 6.1 >
Base Score Metrics:
  • Related exploit range/Attack Vector: < Network >
  • Access Complexity: < Low >
  • Authentication < None >
  • Confidentiality Impact: < None >
  • Integrity Impact: < None >
  • Availability Impact: < Complete >
Temporal Score Metrics:
  • Exploitability: < Proof of Concept >
  • Remediation Level: < Official Fix >
  • Report Confidence: < Confirmed >
References:
Complete CVSS Guide
共通脆弱性評価システム CVSS V2 概説
脆弱性の深刻度評価の新バージョンCVSS v2への移行について

CVSS Caluculator:
(英語) Online Calculator
(日本語) Online Calculator

* Environmental Score (環境評価基準) は、製品利用者の利用環境も含め、最終的な脆弱性の深刻度を評価する基準です。攻撃を受けた場合の二次的な被害の大きさや、組織での対象製品の使用状況といった基準で評価し、CVSS 環境値 (Environmental Score) を算出します。これは、お客様自身が脆弱性への対応を決めるために評価する基準です。

関連文書 (Related Document)

(英文) 「Lotus Domino Web Server “Accept-Language” Stack Overflow」(Technote #1303057)


----- 更新履歴 -----
2009/05/20 Lotus Domino 7.0.4 で修正されていることを追記


掲載内容は2009年5月20日現在の情報です。内容は事前の予告なく変更することがあります。
IBM、IBM ロゴおよび ibm.com は、世界の多くの国で登録された International Business Machines Corporation の商標です。
他の製品名およびサービス名等は、それぞれ IBM または各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml (US) をご覧ください。


 
Lotus software

文書情報

プロダクト・ファミリー
Domino Server


プロダクト・カテゴリー
Server > Security > Local Security


オペレーティングシステム


ソフトウェア・バージョン
Domino Server 8.0; Domino Server 7.x; Domino Server 6.x


文書番号
731818


最終更新日
2009年05月20 日