GitHubの脆弱性情報データベースに、Nodemailerのアドレス解釈に関する欠陥3件が掲載されています。対象は3件ともNodemailer 3.0.0~10.1.3で、許可した宛先へのメールが攻撃者のドメインに届く恐れがあります。このうち、入れ子のコメントに関する欠陥は、2026年10月18日の内部レビューで発見されました。
区切り文字の誤読で、メールの届け先が変わる
問題の一つは、アドレスを読み取る処理であるaddressparserが、入れ子になったコメントを誤って扱うものです。識別子はGHSA-8c8m-p3m8-cjg8で、3.0.0、6.9.16、10.1.3で問題が確認されています。
内側のコメントを閉じる「)」を、外側のコメントの終わりとしても扱ってしまいます。GitHubの勧告によると、承認済み宛先へのメールが攻撃者のドメインに届く可能性があります。また、mailparserを使う場合には、送信者の偽装につながる恐れもあります。
別の欠陥であるGHSA-m943-m63m-w62wは、宛先グループの終わりを示す「;」の扱いにあります。引用符内の表示名やコメントにある「;」まで終端とみなすため、その中の文字列が実際の宛先になる可能性があります。勧告では、本来の宛先には届かず、攻撃者だけにメールが届く恐れが示されています。
許可リストを通ったアドレスも誤読する恐れ
GHSA-85x2-q946-cp5hは、山括弧で囲んだアドレスの終端を誤認する欠陥です。引用符で囲んだローカル部、つまりアドレスの「@」より前の部分や、コメント、ドメインリテラルの中にある「>」も、アドレスの終わりとして扱います。ドメインリテラルは、ドメイン名の代わりにIPアドレスなどを角括弧で囲んで記す形式です。
勧告によると、規格に沿った検証を通過したアドレスでも、送信先を許可したドメインに限定する仕組みを回避できる可能性があります。利用者が操作したアドレスを渡すアプリやmailparserなどが影響対象で、攻撃にアプリの設定や認証情報へのアクセスは不要とされています。
修正では、コメントの入れ子の深さを数え、最も外側の閉じ括弧まで読み取ります。また、「;」は引用文字列やコメントの外側にある場合だけ、「>」は引用文字列、コメント、ドメインリテラルの外側にある場合だけを終端として扱います。
3件とも影響範囲はNodemailer 3.0.0~10.1.3で、各勧告はv10.1.4のリリースを参照しています。開発担当や委託先には、このリリースの修正内容と、自社環境への取り込み状況を確認してください。日本での提供は発表には書かれていません。
影響する会社・しない会社
- 影響する: Nodemailer 3.0.0~10.1.3を利用している会社です。3件すべての影響対象として、利用版と修正の取り込み状況を確認する必要があります。
- 影響する: 対象版を使い、利用者が操作できるアドレスをアプリに渡している会社です。mailparserの利用も含め、入力の検証と、その後のアドレス解釈を確認する必要があります。
- 影響しない: Nodemailerやmailparserなど、今回問題となったアドレス解析処理を直接・間接ともに利用していないと確認できた会社です。版で切り分ける場合、3件とも公表された影響範囲は3.0.0~10.1.3なので、利用版がこの範囲に含まれるか確認してください。