GrapesJS-Version [x] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Kante, Mozilla Reproduzierbarer Demo-Link NA Beschreibe den Käfer Unterstreichen <=1.13.7 Schweregrad: hoch Unterstreichen <=1.13.7 Schweregrad: hoch Underscore hat unbegrenzte Rekursion in .flatten und .isEqu...
artf
Danke für den Bericht@tiburciomzt Der Bump wurde zusammengeführt und wird bald veröffentlicht.
GJS Helper
Das von dir beschriebene Problem bezüglich der 'underscore'-Schwachstelle (GHSA-qpx9-hpmf-5gmw) in 'grapesjs' ist berechtigt und betrifft eine hochschwere DoS-Schwachstelle in 'underscore'-Versionen vor '1.13.8'. Diese Schwachstelle betrif...
GrapesJS-Version [x] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Chrome 143.0.7499.193 Reproduzierbarer Demo-Link https://grapesjs.com/demo.html Beschreibe den Käfer Hallo. Wie reproduziert man den Bug? GrapeJS in eine JS-Datei / Node-Env importieren: auf einer Webseite mit...
GJS Helper
GrapesJS setzt von Natur aus als dynamischer Web-Builder auf das Einschleusen von Stilen und die Manipulation des DOM, was tatsächlich zu Verstößen gegen die Content Security Policy (CSP) führen kann, besonders bei sehr strengen Regeln wie...
GrapesJS-Version 0.22.14 (neueste Version vom 20.11.2025) Was ist das erwartete Verhalten? Keine veralteten Abhängigkeiten im GrapesJS-Installationsbaum (oder in der Anleitung/Roadmap zum Ersetzen davon). Wie ist das aktuelle Verhalten? Die Installation von [email protected] sendet eine npm/pnpm Deprecation Warning, da...
GJS Helper
Die Verwertungswarnung für '[email protected]' bei der Installation von GrapesJS ist eine berechtigte Sorge bezüglich der Abhängigkeitspflege. Lassen Sie uns die Situation aufschlüsseln und erklären, was sie für GrapesJS-Nutzer bedeutet....
Die Codebasis basiert derzeit auf veralteten Abhängigkeiten. Dieses Ticket zielt darauf ab: Aktualisieren Sie alle bestehenden Abhängigkeiten auf ihre neuesten stabilen Versionen. Dependabot einrichten, um Abhängigkeiten in Zukunft automatisch zu überprüfen und zu aktualisieren. Abhängigkeiten auf dem neuesten Stand z...
GJS Helper
Projektabhängigkeiten aktuell zu halten, ist entscheidend für Sicherheit, Leistung und Kompatibilität. Für ein GrapesJS-Projekt, das typischerweise Node.js und npm/yarn verwendet, beinhaltet dies einen zweigleisigen Ansatz: erste manuelle...
GrapesJS-Version [X] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Edge v122 Reproduzierbarer Demo-Link https://jsfiddle.net/bwreyq29/1/ Beschreibe den Käfer Wie reproduziert man den Bug? Öffnen Sie diesen Link https://jsfiddle.net/bwreyq29/1/ und der JavaScript-Code, der dem...
Bernesto
Ich finde, die Pre-Parser-Option ist eine wirklich gute Idee. Es hält sich an das Konzept des 'Plug-in' pro Feature. Wie wäre es, 'fromElement' zu aktualisieren, um eine String-Element-ID oder Boolean zu akzeptieren? Wenn bool == true funk...
artf
Ich stimme @bernesto vollkommen zu, denn egal wie sehr wir uns bemühen, es sicher zu machen, es wird nie ausreichen, und ich möchte nicht den Eindruck erwecken, die Bibliothek sei "so sicher", um eine fehlende serverseitige Validierung zu...
Bernesto
Das ist unvermeidbar, wenn man 'fromElement' verwendet, um von einem aktiven DOM-Element zu laden. Das Element der Seite lädt und wird synchron ausgeführt. GrapesJS hätte niemals die Möglichkeit, das XSS-HTML zu verarbeiten und zu entschär...
GrapesJS-Version [X] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Chrome v102 Reproduzierbarer Demo-Link https://jsfiddle.net/szLp8h4n Beschreibe den Käfer Wie reproduziert man den Bug?Wählen Sie eine beliebige Komponente ausFügen Sie den Klassennamen zum Selector Manager hi...
artf
Danke für den Bericht, er wird in der nächsten Version behoben.
Rawne
Ich stoße auch auf diesen XSS-Bug. Zum Beispiel führt das Hinzufügen von '><img src=x onerror=alert('XSS')>' zu den Klassen einer Komponente dazu, dass es ebenfalls aufpoppt.
GrapesJS-Version [X] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Chrome 97.0.4692.71 Reproduzierbarer Demo-Link https://jsfiddle.net/ovrz5ug2/4/ Beschreibe den Käfer Hallo – wir sind auf diese XSS-Schwachstelle gestoßen, als wir GrapesJS in einem Mehrspielermodus verwendet...
artf
Danke @diemkay bitte bezieht euch auf dieses Problem, wenn ihr Vorschläge habt: https://github.com/artf/grapesjs/issues/3082
diemkay
@artf Danke, aber ich habe dieses Ticket schon gesehen und es deckt das hier beschriebene Problem nicht ab. Die Injektion findet nicht in Live Preview statt, sondern im Style Manager, wo versucht wird, die 'ID' der Komponente anzuzeigen, i...
artf
Ja, sorry, ich habe zu früh 😁 geschlossen. Ich werde versuchen, es für die nächste Version zu beheben.
GrapesJS-Code ist für XSS-Probleme anfällig, weil Werte in DOM eingefügt werden, ohne zu entweichen, z. B. https://github.com/artf/grapesjs/blob/dev/src/assetmanager/view/AssetImageView.js#L30 Wenn 'model.getFilename()' '<img src=x onerror=alert(document.cookie)>.jpg' zurückgibt, kann dies zu einer Kontoübernahme führ...
aimeos
@artf Was sind Ihre Pläne, denn die Verwundbarkeit von GrapesJS gegenüber XSS ist ein ziemlich großes Sicherheitsproblem
artf
Ja, danke für den Bericht @aimeos ich werde es auf jeden Fall in der nächsten Version beheben.
aimeos
@artf Die Dokumentation verwendet auch häufig '${var}', um Variablen in Vorlagen einzufügen. Dies sollte auch geändert werden, um zu vermeiden, dass Entwickler Sicherheitsprobleme ohne dessen Wissen einführen.
Um die mögliche Angriffsfläche zu verringern, wenn der Editor in "feindlichen" Umgebungen (z. B. in SaaS-Plattformen) verwendet wird, ist CSP-Unterstützung erforderlich. Das verhindert auch Probleme wie https://github.com/artf/grapesjs/issues/3082 Im Moment ist das einzige Problem, das effektive CSP-Regeln verhindert,...
artf
Okay, dann versuche ich, es für die nächste Version zu korrigieren.
artf
Mmm, ich bin mir nicht ganz sicher, wie ich das beheben kann, und was meinst du mit 'ist die Verwendung von neuer Funktion() im GrapesJS-Code', da es so etwas im Quellcode nicht gibt?
aimeos
Ich habe herausgefunden, dass es in den Dist-Dateien ist, weil underscore.js template()-Methode 'new Function()' verwendet. Ich denke, das wird es schwierig machen, diese Abhängigkeit zu ersetzen oder zu beseitigen, um einen CSP ohne 'unsa...