Procházet zdrojové kódy

deps(frontend): move the Tiptap stack to 3.31.1

    GHSA-cp6q-959q-f8rh: @tiptap/core's mergeAttributes() copies keys out of
    Object.entries() with plain bracket assignment, so an own __proto__ key
    from JSON hits the legacy prototype setter rather than writing a
    property. The result carries an attacker-controlled prototype while
    Object.keys() and own-property checks show nothing, and ProseMirror's
    DOMSerializer.renderSpec() enumerates attribute objects with for...in --
    so inherited src and onerror land on a rendered <img> and execute.
    Medium, CVSS 4.0 6.4, fixed in 3.30.4.

    Not reachable here. The advisory needs an untrusted object arriving at
    mergeAttributes(), or a custom or dynamic extension that preserves the
    attribute object. Nothing under frontend/src calls mergeAttributes or
    defines an extension, and RichTextEditor builds a fixed schema from
    StarterKit plus six stock extensions whose HTMLAttributes are static
    literals. Content crosses as an HTML string rather than JSON, so no own
    __proto__ key reaches an attrs object at all -- the DOM parser only
    fills attributes the schema declares -- and every read-only render is
    sanitized.

    Lockfile only: package.json already declared ^3.11.1, so the patched
    line was inside the range and only the stale lock held 3.19.0. No
    overrides entry needed.

    @tiptap/pm has narrowed its dependency set, so prosemirror-markdown,
    prosemirror-menu, prosemirror-collab, prosemirror-schema-basic,
    prosemirror-trailing-node, markdown-it and linkify-it leave the tree --
    16 packages, none imported by this repo. That retires the reachability
    note carried for linkify-it in 1.2.5.

    eslint, build with the Safari 16 baseline check, i18n parity and 3514
    frontend tests across 256 files all pass. npm audit --omit=dev, which
    is what CI gates on, reports zero vulnerabilities.
maziggy před 5 dny
rodič
revize
3e6896de2d
3 změnil soubory, kde provedl 203 přidání a 407 odebrání
  1. 202 406
      frontend/package-lock.json
  2. 0 0
      static/assets/index-CH-LgsSx.js
  3. 1 1
      static/index.html

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 202 - 406
frontend/package-lock.json


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
static/assets/index-CH-LgsSx.js


+ 1 - 1
static/index.html

@@ -26,7 +26,7 @@
 
     <!-- Splash screens for iOS -->
     <link rel="apple-touch-startup-image" href="/img/android-chrome-512x512.png" />
-    <script type="module" crossorigin src="/assets/index-CQmjKcng.js"></script>
+    <script type="module" crossorigin src="/assets/index-CH-LgsSx.js"></script>
     <link rel="stylesheet" crossorigin href="/assets/index-DR-aOvsI.css">
   </head>
   <body>

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů