Skip to content

4.2.13 — Güvenlik incelemesinin ardından

Choose a tag to compare

@github-actions github-actions released this 22 Oct 23:11
· 124 commits to main since this release

Türkçe

Güvenlik incelemesinin ardından. Depo dışarıdan bir güvenlik incelemesinden geçti: iki orta seviye bulgu ve üç sağlamlaştırma önerisi. Bulgulardan biri doğru çıktı, diğeri tekrarlanamadı; üç öneri de uygulandı.

  • Worker'ın Origin kontrolü olduğundan fazlası gibi anlatılıyordu. Origin: https://iacbi.github.io başlığını herhangi bir istemci gönderebilir; yani bu kontrol curl'ün /v1/feed'i genel amaçlı bir indirici gibi kullanmasını hiç engellemiyordu. Kontrol tarayıcı CORS kuralı olarak yerinde duruyor, ama artık bir sınır sayılmıyor. Asıl daraltma gövdenin kendisinde: /v1/feed, belge rss, feed ya da rdf:RDF köküyle başlamıyorsa 415 döner ve reddedilen yanıt önbelleğe hiç yazılmaz. Canlı Worker'da doğrulandı: düz metin bir dosya 415, gerçek bir RSS feed'i 200.
  • Bölüm notları içlerindeki bağlantıları indirmiyor; artık bir smoke testi de bunu kanıtlıyor. İnceleme, DOMParser'ın bölüm açıklamasındaki görsel ve çerçeveleri filtrelenmeden önce yükleyeceğini öngörüyordu. Chromium'da ölçüldü: hiçbirini yüklemiyor. Yeni smoke:shownotes, yük taşıyan öğelerle dolu bir açıklamayı bir test sunucusuna yöneltiyor ve oraya tek bir istek giderse başarısız oluyor.
  • Pages derlemesi artık yazma yetkisi taşımıyor. npm ci ve derleme salt okunur bir işte çalışıyor; pages: write ve id-token: write yalnızca yayımlama adımında.
  • Bağımlılık denetimi artık engelliyor. Çalışma zamanındaki yüksek ve kritik açıklar CI'ı durduruyor.
  • Vite, Hono ve geliştirme araçları bilinen açıkların ötesine güncellendi.

Uygulamanın kendisi değişmedi; kurulum hâlâ imzasız.


English

Security review follow-ups. The repository went through an outside security review: two medium findings and three hardening items. One finding held, one did not reproduce, and all three hardening items are done.

  • The Worker's Origin check was described as more than it is. Any client can send Origin: https://iacbi.github.io, so the check never stopped curl from using /v1/feed as a general fetcher. It stays as browser CORS policy and is no longer counted as a limit. What narrows the endpoint now is the body itself: /v1/feed answers 415 unless the document begins with an rss, feed or rdf:RDF root, and a refused body is never cached. Checked on the live Worker: a plain-text file gets 415, a real RSS feed 200.
  • Show notes do not fetch what they point at, and a smoke now proves it. The review expected DOMParser to load the images and frames in an episode description before they are filtered out. Measured in Chromium, it loads none. The new smoke:shownotes aims a description full of load-bearing elements at a probe host and fails on a single request to it.
  • The Pages build no longer holds write tokens. npm ci and the build run in a read-only job; only the deploy step gets pages: write and id-token: write.
  • The dependency audit blocks. High and critical runtime advisories now fail CI.
  • Vite, Hono and the development tooling are past their known advisories.

The app itself is unchanged; the installer is still unsigned.