Moment: 脆弱な正規表現

作成日 2017年09月08日  ·  24コメント  ·  ソース: moment/moment

文字列として指定された日付の解析に使用される次の正規表現は、ReDoSに対して脆弱です。

/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i

スローダウンは適度に低く、50.000文字の場合は約2秒のマッチング時間です。 ただし、次のいずれかをお勧めします。

  • 正規表現を削除し、
  • 正規表現を固定し、
  • 繰り返しで一致できる文字数を制限し、
  • 入力サイズを制限します。

必要に応じて、速度低下を示す実際の例を提供できます。

Bug Up-For-Grabs

最も参考になるコメント

nspにログインしたので、ビルドに失敗しているので、この修正を迅速に行うことができれば幸いです。

全てのコメント24件

明確にするために、これはmatchWord正規表現、ここの/src/lib/parse/regex.jsます

これが正規表現の鉄道図です。 このことから、繰り返しのあるグループ化はアラビア文字の解析に関連していることがわかります。 正規表現とアラビア語の両方を理解している人がこれを理解できれば助かります。

ReDoSの概要も役立ちます。

これは誰もまだ始めていません

@hamiltondanielb all yours :)

@cristianstaicu
必要に応じて、速度低下を示す実際の例を提供できます。

可能であれば例を見たいのですが:)

@ Drag0sはあなたのプライベートメールでそれを送信しました。

参考までに、これはNSPに追加されたので(ここを参照)、これはおそらくすぐに人々のビルドを壊し始めるでしょう。

@ hamiltondanielb-どこかでこれを調べましたか?

ビルドが中断されました👯

問題が修正される前に公開されなければならなかったのは悲しいことです。 9月8日に発行された、NSPアドバイザリが本日公開されました。 @cristianstaicuおそらく、これに勢いをつけるために、開示期限についてメンテナに思い出させるべきでした。

@mattgrandeこれには

1__bash

nsp 3.1.0にアップグレードすると、依存関係がなくなったため、これが解決されました。瞬間に直接依存しない場合は、注意してください。

これに対する修正はまだありますか?

利用可能な修正を教えてください。

修正はまだ公開されていません。

メンテナからの最新情報の入手に興味がある場合は、右側の列の[購読]をクリックして、この問題の更新に関する通知を購読してください。

これにnsp例外を追加するには、 .nsprcファイルを追加します。

{
  "exceptions": [
     "https://nodesecurity.io/advisories/532"
  ]
}

ありがとう@ westy92 ! ビルドを保存しました。

こんにちは@ westy92と@ jacob-go。 私は次のコードを持っています。
var taskMethods = require( 'gulpfile-ninecms');
gulp.task( 'nsp'、tasksMethods.nsp);
.nsprcファイルの例外を検出しません。 しばらくの間、脆弱性エラーが発生し続けます。
プロジェクトのルートにファイルを追加しました。 足りないことはありますか?

@Dexterslabgulp-nspを使用しています。これは、 .nsprcがプロジェクトディレクトリ( package.jsonと同じレベル)にある場合に正常に機能します。 たぶんgulp-nsp直接使ってみませんか?

@cristianstaicu @mattgrandeこれはルクソンでも起こっていますか?

nspにログインしたので、ビルドに失敗しているので、この修正を迅速に行うことができれば幸いです。

このコンボをロックするようにメンテナに提案できますか?
修正を待っているすべての人は、サブスクライブボタンを押すだけで通知されます。

誰かが修正を行いたい場合は、PRを開いてください。

これにはすでにhttps://github.com/moment/moment/pull/4326のPRがあり

誰かがnspパッチを適用したことを通知する必要がありますか? https://nodesecurity.io/advisories/532

これはバージョン2.19.3で修正されています。 それに応じて更新してください。

NSPに通知する方法がわかりません-

[email protected]にメールを送信し

こんにちは、

現在未解決のmoment.jsの脆弱性(https://nodesecurity.io/advisories/532)に最近パッチが適用され、v.2.19.3で修正が

アドバイザリのステータス更新を報告するためのプロセスは何ですか? このメールアドレスは私が見つけることができる最高の道です。

ありがとう!

NSPDBを修正バージョンとして2.19.3で更新する必要があるという返信がありました。

2.19.3がアラートを送信しなくなったことを確認しました。

このページは役に立ちましたか?
0 / 5 - 0 評価