PRNext 0.1.15: stärkere Laufzeitgrundlagen

PRNext 0.1.15-alpha hat mehrere Ebenen unterhalb der Anwendung aktualisiert: TLS-Validierung, Bildabhängigkeiten und die unterstützte Node.js-Basislinie.

Diese Änderungen sind auch in 0.1.16-alpha. enthalten. Wenn Sie jetzt aktualisieren, verwenden Sie 0.1.16 mit den ausgerichteten Paketen React 19.3.1, anstatt bei dieser früheren Version anzuhalten.

TLS und Zertifikatsvalidierung

Die Veröffentlichung aktualisierte rustls, rustls-webpki und webpki-root-certs, einschließlich eines Fixes für ein misstrauisches emSign-Zwischenzertifikat.

Diese Arbeit betrifft die Abhängigkeitskette der nativen Laufzeit. Für Ihre eigenen Anwendungsabhängigkeiten und externen Dienste gelten weiterhin eigene Aktualisierungsanforderungen.

Die Zertifikatsvalidierung gehört zum Verbindungspfad, daher ist eine gepatchte native Abhängigkeit auch dann wichtig, wenn sich die Anwendungsquelle nicht ändert. Testen Sie die externen HTTPS-Dienste, auf die Ihre Anwendung nach der Neuerstellung angewiesen ist. Eine erfolgreiche Anfrage an einen Dienst stellt nicht sicher, dass jede Zertifikatskette oder jeder anwendungsspezifische Client abgedeckt ist.

Bild- und Open-Graph-Rendering

Die Abhängigkeitssperre wurde auf Sharp 0.35.5 und source-map-js 1.2.2. verschoben. Der ausgelieferte Open Graph-Renderer wurde mit einem Resvg-Fallback neu erstellt, wenn in einem optionalen nativen Sharp-Backend eine Bibliothek fehlt oder älter als 2.63.2 ist.

Für Code, der bereits in einem verteilten Renderer eingebettet ist, reicht es nicht aus, nur eine Workspace-Überschreibung zu überprüfen. Die gepackte Ausgabe muss auch die korrigierte Abhängigkeit enthalten.

Der Fallback betrifft die Art und Weise, wie der gepackte Renderer mit seinem nativen Bild-Backend umgeht. Überprüfen Sie sowohl ein gewöhnliches optimiertes Bild als auch ein generiertes Open Graph-Bild in der erstellten Anwendung. Diese Pfade können unterschiedlichen Code ausführen, sodass ein korrektes Miniaturbild allein keine vollständige Überprüfung der Generierung sozialer Bilder darstellt.

Eine gepatchte Node.js-Basislinie

Unterstützte Release-Linien beginnen bei Node.js, 22.23.4,, 24.22.1 und 26.12.1.. Die ausführbare Datei des lokalen Knotens und die bereitgestellten Container-Images benötigen ein eigenes Update. Durch die Installation eines npm-Pakets werden diese nicht ersetzt.

Behandeln Sie die Knotenlaufzeit und das Anwendungsartefakt als zwei Teile der Bereitstellung. Zeichnen Sie auf, welche ausführbare Datei oder welches Container-Image die Anwendung startet, erstellen Sie sie mit den vorgesehenen Paketversionen neu und überprüfen Sie den ausgeführten Dienst nach dem Neustart. Dadurch wird vermieden, dass eine gepatchte Sperrdatei neben einem Prozess verbleibt, der noch eine ältere Laufzeit verwendet.

Wohin von hier aus?

Verwenden Sie die im Installationshandbuch dokumentierten 0.1.16-Anweisungen für das Paket, erstellen Sie Ihre Anwendung neu und starten Sie die bereitgestellte Ausgabe neu. Die Entwicklungs- und Cache-Änderungen in 0.1.17 werden in eigenen versionierten Artikeln behandelt.

Notieren Sie das Artefakt und die Laufzeit, die diese Prüfungen bestanden haben. Wenn Sie Anwendungscode zurücksetzen müssen, hilft dieser Datensatz dabei, ein funktionales Rollback von der Wiedereinführung einer veralteten Abhängigkeit zu unterscheiden. Validieren Sie die Ersatzausgabe, anstatt davon auszugehen, dass ein älteres Image dieselben Sicherheitseigenschaften aufweist.

Quellen und weiterführende Literatur

Zurück zum Blog