Der folgende reguläre Ausdruck zum Analysieren von als Zeichenfolgen angegebenen Daten ist für ReDoS anfällig:
/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i
Die Verlangsamung ist mäßig gering: Für 50.000 Zeichen ca. 2 Sekunden Übereinstimmungszeit. Ich würde jedoch immer noch eine der folgenden Möglichkeiten vorschlagen:
Bei Bedarf kann ich ein aktuelles Beispiel für die Verlangsamung bereitstellen.
Zur Verdeutlichung ist dies in dem matchWord
regex, in /src/lib/parse/regex.js
hier .
Hier ist ein Eisenbahndiagramm des regulären Ausdrucks . Daraus können wir ersehen, dass die Gruppierung mit Wiederholung mit dem Parsen arabischer Zeichen zusammenhängt. Es wäre hilfreich, wenn jemand, der sowohl reguläre Ausdrücke als auch die arabische Sprache versteht, eine Pause einlegen könnte.
Eine Übersicht über ReDoS ist ebenfalls hilfreich.
Ich nehme an, das hat noch niemand begonnen
@hamiltondanielb alles deine :)
@cristianstaicu
Bei Bedarf kann ich ein aktuelles Beispiel für die Verlangsamung bereitstellen.
Ich würde gerne ein Beispiel sehen, wenn es möglich ist :)
@ Drag0s hat es auf Ihrer privaten E-Mail gesendet.
Zu Ihrer Information, dies wurde zu NSP hinzugefügt (siehe hier ), so dass dies wahrscheinlich bald anfangen wird, die Builds der Leute zu brechen.
@hamiltondanielb - Hast du irgendwo
Hatte gerade unsere Build-Pause 👯
Es ist traurig, dass das Problem öffentlich werden musste, bevor es behoben wurde. Die Ausgabe wurde am 8. September eröffnet. Das NSP-Advisory wurde heute veröffentlicht. @cristianstaicu Vielleicht hättest du die Betreuer an die Offenlegungsfrist erinnern sollen, um dies in Schwung zu bringen.
@mattgrande es gibt eine Meta-Ness dazu: Es stellt sich heraus, dass die Version von nsp, an die wir angeheftet wurden (2.8.1), vom Moment abhängt (via joi), sodass eine Sicherheitslücke in Abhängigkeit von ihrer eigenen Abhängigkeit gemeldet wurde:
Ein Upgrade auf nsp 3.1.0 hat dieses Problem behoben, da die Abhängigkeit nicht mehr vorhanden ist. Achten Sie also darauf, wenn Sie nicht direkt vom Moment abhängen.
Gibt es dafür schon eine Lösung?
Bitte geben Sie einen verfügbaren Fix an.
Es wurde noch kein Fix veröffentlicht.
Wenn Sie an Updates von den Betreuern interessiert sind, abonnieren Sie Benachrichtigungen für Updates zu diesem Problem, indem Sie in der rechten Spalte auf "Abonnieren" klicken.
Fügen Sie eine .nsprc
-Datei hinzu, um eine nsp
-Ausnahme hinzuzufügen:
{
"exceptions": [
"https://nodesecurity.io/advisories/532"
]
}
Danke @ westy92 ! Habe meinen Build gespeichert.
Hi @ westy92 und @ jacob-go. Ich habe den folgenden Code.
var taskMethods = require ('gulpfile-ninecms');
gulp.task ('nsp', taskMethods.nsp);
Die Ausnahme der .nsprc-Datei wird nicht erfasst. Es gibt mir für den Moment immer wieder den Schwachstellenfehler.
Ich habe die Datei im Stammverzeichnis des Projekts hinzugefügt. Fehlt mir etwas?
@Dexterslab Wir verwenden gulp-nsp
, was gut funktioniert, wenn sich .nsprc
im Projektverzeichnis befindet (gleiche Ebene wie package.json
). Vielleicht versuchen Sie es mit gulp-nsp
direkt?
@cristianstaicu @mattgrande passiert das auch in Luxon?
Wir würden uns freuen, wenn das Update hierfür beschleunigt werden kann, da es in nsp angemeldet wurde und unsere Builds fehlschlagen.
Kann ich den Betreuern vorschlagen, diese Convo zu sperren?
Für alle, die auf eine Lösung warten, klicken Sie einfach auf die Schaltfläche "Abonnieren" und Sie werden benachrichtigt.
Wenn jemand das Problem beheben möchte, können Sie eine PR eröffnen.
Hierfür gibt es bereits eine PR https://github.com/moment/moment/pull/4326
Muss jemand nsp
benachrichtigen, dass dies gepatcht wurde? https://nodesecurity.io/advisories/532
Dies wurde in Version 2.19.3 behoben. Bitte entsprechend aktualisieren.
Ich bin nicht sicher, wie ich NSP benachrichtigen soll - @cristianstaicu könnten Sie oder andere hier helfen?
Ich habe eine E-Mail an [email protected] gesendet :
Hallo,
Das derzeit ausstehende moment.js Verwundbarkeit (https://nodesecurity.io/advisories/532) wurde kürzlich gepatchte und das Update veröffentlicht in v.2.19.3.
Wie werden Statusaktualisierungen für Advisories gemeldet? Diese E-Mail-Adresse ist die beste Straße, die ich finden konnte.
Vielen Dank!
Ich habe gerade eine Antwort erhalten, dass die NSP-Datenbank mit 2.19.3 als fester Version aktualisiert werden sollte.
Ich habe auf meiner Seite überprüft, dass 2.19.3 keine Warnungen mehr enthält.
Hilfreichster Kommentar
Wir würden uns freuen, wenn das Update hierfür beschleunigt werden kann, da es in nsp angemeldet wurde und unsere Builds fehlschlagen.