Neuer Wert „allow-same-site-none-cookies“ für die Sandbox ab Chrome 135

Natalia Markoborodova
Natalia Markoborodova

Ab Chrome 135 können Sie den neuen Wert sandbox verwenden: allow-same-site-none-cookies. Wenn diese Richtlinie angegeben ist und keine Drittanbieter-Cookies verfügbar sind, sendet der Browser nur SameSite=None-Cookies in HTTP-Anfragen, die von Erstanbieter-Sandbox-iFrames stammen.

Was ist ein Sandboxed-iFrame?

Sandboxed iframes sind iframes mit besonderen Einschränkungen. Sie werden als null mit einem nicht transparenten Ursprung behandelt. Standardmäßig sind potenziell schädliche Funktionen wie Skripts, Formulare und Pop-ups in iFrames, die in einer Sandbox ausgeführt werden, nicht verfügbar.

Mit dem Attribut sandbox können Sie festlegen, welche Funktionen in einem Sandbox-Iframe verfügbar sein sollen. Beispiel:

 <iframe sandbox="allow-scripts" src="example-sandboxed-frame.html"/>

Sandboxing ist immer eine gute Idee, da Sie damit die Berechtigungen, die für das erfolgreiche Laden eingebetteter Inhalte erforderlich sind, detailliert auswählen und gleichzeitig das Risiko potenzieller Exploits begrenzen können.

Warum benötigen wir diese neue Richtlinie?

Vor der Einführung von allow-same-site-none-cookies konnten Sie zwei Cookie-Szenarien in einem Sandboxed-iFrame konfigurieren:

  • Ohne das Token allow-same-origin im Attribut sandbox wird die Quelle des Iframes als null serialisiert. Dadurch sind alle Anfragen von der Sandbox-Seite websiteübergreifend. In diesem Fall werden nur Cookies mit SameSite=None in Anfragen berücksichtigt.
  • Mit dem allow-same-origin-Token im Attribut sandbox werden Anfragen so behandelt, als würden sie vom tatsächlichen Ursprung des Iframes stammen. So können Cookies mit einem beliebigen SameSite-Wert gesendet werden.

Wenn Drittanbieter-Cookies blockiert sind, kann ein Sandboxed-iFrame ohne allow-same-origin keine Cookies senden, es sei denn, Sie aktivieren allow-same-site-none-cookies.

Ein iFrame mit allow-same-origin kann weiterhin Cookies in Same-Site-Anfragen einfügen, auch wenn Drittanbieter-Cookies blockiert sind. Der gesamte Cookie-Speicher des Ursprungs wäre jedoch potenziell schädlichen Webaktivitäten ausgesetzt.

Mit allow-same-site-none-cookies kann ein iFrame SameSite=None-Cookies in HTTP-Anfragen senden, während potenziell sensible SameSite=Strict- und SameSite=Lax-Cookies nicht enthalten sind.

Praktisches Beispiel

Stellen Sie sich eine Website, practice-coding.example, vor, auf der Nutzer benutzerdefinierte Codierungsprojekte erstellen und ausführen und den Code anderer Nutzer einbetten können. Um den Dienst nutzen zu können, müssen sich Nutzer anmelden. Dadurch wird ein SameSite=Strict-Sitzungscookie gesetzt.

Ein anderer Nutzer erstellt ein Projekt namens practice-coding.example/cookie-theft, das andere Nutzer unwissentlich als iFrame in ihre Projekte einbetten können. Wenn die Cookies SameSite=Strict und SameSite=Lax für den practice-coding.example/cookie-theft-iFrame verfügbar sind, kann der böswillige Nutzer die Sitzungscookies anderer Nutzer stehlen.

In diesem Szenario möchte der Websiteinhaber möglicherweise den Zugriff auf potenziell vertrauliche Cookies einschränken. Möglicherweise möchten sie jedoch weiterhin SameSite=None-Cookies in Sandboxed-iFrames zulassen. Beispiel: Für ein practice-coding.example/coding-interview-Sandbox-Iframe sind möglicherweise SameSite=None-Cookies erforderlich, damit Kandidaten ihren Code noch einmal aufrufen können. allow-same-site-none-cookies verhindert, dass der gesamte Cookie-Speicher offengelegt wird, während die erforderlichen SameSite=None-Cookies selektiv zugelassen werden.

Wie erlaube ich nur SameSite=None in eigenen Sandbox-Frames?

Wenn Sie SameSite=None-Cookies in Anfragen von eigenen Sandbox-Seiten aktivieren möchten, geben Sie das allow-same-site-none-cookies-Token im iFrame-Tag an. Beispiel:

 <iframe sandbox="allow-same-site-none-cookies" src="example-sandboxed-page.html"/>

Sie können auch eine allow-same-site-none-cookies-Richtlinie mit einem Content-Security-Policy-HTTP-Header festlegen:

Content-Security-Policy: sandbox allow-same-site-none-cookies;

Probieren Sie es selbst aus.

Feedback geben

Melden Sie ein Problem, um Feedback zu geben oder Probleme zu melden, oder beteiligen Sie sich an der Diskussion auf GitHub.