最近、偶然にも保険会社のAPIエンドポイントがJSONパーサーのStackTraceを、コンテンツフィールドに不正な形式のJSONを含むhttp POST
メッセージへの応答として送信していることを偶然発見しました。
エンドポイントのurl
は、クライアントから送信されたデータを保存するジョブがあることを示しています。スタックトレースは次のようになります。
JSON parse error: Unrecognized token 'nul': was expecting 'null', 'true', 'false' or NaN;
nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'nul':
was expecting 'null', 'true', 'false' or NaN\n at [Source:
Java.io.PushbackInputStream@5f81c2d8; line: 1, column: 10]"
これはどのくらい大きなリスクですか?
それ自体は、特に大きな脆弱性を表すものではありません。ただし、システムに関する情報を開示して、攻撃しやすくする可能性があります。たとえば、指定したスタックトレースを使用すると、システムがfasterxmlを実行していることがわかります。 Googleをすばやく検索したところ、次の脆弱性リストが表示されました: https://www.cvedetails.com/vulnerability-list/vendor_id-15866/product_id-34008/Fasterxml-Jackson.html 。システムには、これらの脆弱性のいずれかがある場合とない場合があります。
システムがリストされた脆弱性の1つに対して脆弱であると仮定すると、エラーメッセージが表示されなかった場合でも、この脆弱性を利用する可能性があります。スタックトレースを非表示にしても、根本的な問題は解決されません。ただし、検出が困難になります。