CVE-2021-4231

クロスサイト・スクリプティング
影響
Angular
<=11.1.0
Angular
感嘆符アイコン
パッチあり
この脆弱性はHeroDevsが提供するNever-Ending Support (NES)バージョンで修正されました。

再現の手順

問題あり/中度に分類される長年の脆弱性が、Angularライブラリのいくつかのバージョンで発見された。CVE-2021-4231はクロスサイトスクリプティング(XSS)の脆弱性で、バージョン6で初めて現れ、最近まで発見されていなかった。

この問題は、サーバーサイド・レンダリング(SSR)中にコードコメントがどのように解析されるかに関連しています。パーサはコメントを早期に閉じてしまう可能性があり(後述の「再現手順」を参照)、その結果、脆弱性が露呈します。悪用された場合、悪意のあるスクリプトが実行され、機密データへの不正アクセスやユーザーセッションの乗っ取りにつながる可能性があります。

他のセキュリティ勧告では、この問題に対処するためにバージョン10.2.5と11.0.5へのアップグレードを推奨しているが、この脆弱性はバージョン6、7、8、9にも存在する。

以下、ダブルクォーテーションの間にコメントマーカーを追加した:

'<!-- The way you close a comment is with "-->". -->'

しかし、パーサーは"-->"がテキストであり、本当の終了コメントマーカーではないことを区別できません。パーサーはコメントを早期に閉じてしまうため、XSS脆弱性の可能性があります。その他のコメント閉じマーカーとして、'-->'(最初のスペース付き)と'--!>'がありますが、これらも脆弱性を誘発します。

問題への対処

このパッチは、パーサーが本当のコメントマーカーとして認識しないように、テキスト内の終了コメントマーカーに、目に見えないスペース「-_-_>」(ここで「_」はゼロ幅のスペース「 \u200B 」)を追加します。

この脆弱性は当初、Angular v11とそれ以降のバージョンで発見され、Googleによって修正された。 HeroDevsの調査により、この脆弱性はLTSから外れてセキュリティアップデートを受けなくなった以前のバージョンにも影響することが確認されました。 HeroDevs Angular NESクライアントにはこのセキュリティパッチが通知され、安全なバージョンのAngular 6、7、8、9、10が提供されました。 まだ最新バージョンをインストールしていない場合やサポートが必要な場合は、サポートチームまでお問い合わせください。

他のAngularユーザーは直ちにアップデートを行い、今後の脆弱性についてはHeroDevsの迅速なAngularセキュリティサポートを受けることを検討したほうがよいだろう。

学習と予防

CVE-2021-4231は、特定され修正されるまで、多くのバージョンで発見されなかったので、有益である。一般的に、セキュリティ・バージョンを最新に保つことはベスト・プラクティスと考えられている。しかし、このケースでは、長期にわたる脆弱性であったため、それだけでは十分ではなかっただろう。特に、このケースで重要なのは、脆弱性を迅速に通知し、プロダクション・コードを非常に迅速にアップデートできることである。

結論

古いコードは、"バトルテスト済み "であるため、特に価値があると考えられがちですが、古いバージョンの由緒あるソフトウェアに潜む脆弱性を見つけることは可能です。HeroDevsは、当社のネバーエンディングサポート製品で発見されたすべての脆弱性を常に把握しており、迅速な対応が必要な場合には、すぐに通知されるようになっています。

Angularとサポートライブラリのセキュリティ、コンプライアンス、互換性サポートにご興味のある方は、今すぐご連絡ください。

HeroDevsの最新パッチでシステムを確実にアップデートし、安全な状態を維持しましょう。さらなる洞察とセキュリティアップデートについては、当社のブログをフォローしてください。

リソース

脆弱性の詳細
身分証明書
CVE-2021-4231
影響を受けるプロジェクト
Angular
影響を受けるバージョン
<=11.1.0
≈ 確定日
2024年2月1日
で修正
重大性
ミディアム
カテゴリー
クロスサイト・スクリプティング