- From: Watson Ladd <watsonbladd@gmail.com>
- Date: Sun, 3 Nov 2024 09:41:17 -0800
- To: Patrick Meenan <patmeenan@gmail.com>
- Cc: רועי ברקאי <roybarkayyosef@gmail.com>, Yoav Weiss <yoav@yoav.ws>, Steven Bingler <bingler@google.com>, Yoav Weiss <yoav.weiss@shopify.com>, Rory Hewitt <rory.hewitt@gmail.com>, Daniel Stenberg <daniel@haxx.se>, Colin Bendell <colin.bendell@shopify.com>, HTTP Working Group <ietf-http-wg@w3.org>, Anne van Kesteren <annevk@apple.com>
- Message-ID: <CACsn0ck9_Dm0o+BK_TD_VH1sK0Ug=0s9_LEU_-ymO3kowWavVA@mail.gmail.com>
Personally I don't think changes to the security model of cookies are a good idea. This should just be a different way to name cookies that you already could have set. On Sun, Nov 3, 2024 at 2:20 AM Patrick Meenan <patmeenan@gmail.com> wrote: > Specifically, the request was to use the same bounds already in place for > set-cookie. Registerable domain 1 should not have access to registerable > domain 2. > > Multiple domains within a given registerable domain where set-cookie can > already access is the discussion point. > > On Sun, Nov 3, 2024 at 3:12 AM רועי ברקאי <roybarkayyosef@gmail.com> > wrote: > >> So It shall be documented that domain1 should not have access to delete >> domain2 . >> >> On Sun, Nov 3, 2024, 09:57 Yoav Weiss <yoav@yoav.ws> wrote: >> >>> >>> >>> On Sat, Nov 2, 2024, 21:41 רועי ברקאי <roybarkayyosef@gmail.com> wrote: >>> >>>> Hey Steven >>>> >>>> For special SaaS you as the provider don't know the coockie name, same >>>> for wix for example. >>>> >>>> Secondly in regards to damain1.com on domain2.com the functionality is >>>> desired by yoav , >>>> >>> >>> It really isn't >>> >>> I wish to have a security feature for that to mitigate potential risk >>>> >>> >>>> On Sat, Nov 2, 2024, 21:05 Steven Bingler <bingler@google.com> wrote: >>>> >>>>> > as a parent domain may...attempt to delete any other domain cookie >>>>> >>>>> This is already possible and is in fact nearly trivial if a human >>>>> looks at their browser's developer tools to obtain the domain and path of >>>>> the cookie they want to delete. No guessing required. >>>>> >>>>> > Also some enterprises hold domain1.com and domain2.com and might >>>>> wish for domain1.com to delete domain2.com cookie this should be >>>>> allowed with relevant security features >>>>> >>>>> It's not currently possible for one registrable domain to target and >>>>> delete cookies of another registrable domain and I don't believe this >>>>> proposal is advocating for that ability. >>>>> >>>>> - Steven >>>>> >>>>> >>>>> On Fri, Nov 1, 2024 at 5:46 PM רועי ברקאי < >>>>> roybarkayyosef@gmail.com> wrote: >>>>> >>>>>> well the thing is it does introduce new functionality as a parent >>>>>> domain may/ any other domain attempt to delete any other domain cookie in >>>>>> the current suggestion. >>>>>> I believe the current edit rights are abusive and many supply chain >>>>>> attack are carried with that. >>>>>> by lowering the complexity the attack would be more common and the >>>>>> options would larger for different domains. >>>>>> Also some enterprises hold domain1.com and domain2.com and might >>>>>> wish for domain1.com to delete domain2.com cookie this should be >>>>>> allowed with relevant security features >>>>>> >>>>>> >>>>>> >>>>>> On Fri, 1 Nov 2024 at 22:38, Steven Bingler <bingler@google.com> >>>>>> wrote: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> Browsers will send any cookies that a given request has access to >>>>>>> (i.e.: domain, path, secure-ness), meaning that any server that receives >>>>>>> these cookies also already has write access to all those cookies. >>>>>>> >>>>>>> Since the purpose of this proposal is to target “cookie crust” then >>>>>>> these are presumably cookies the server is receiving from the client. So, >>>>>>> imo, it follows that a `Delete-Cookie: foo` request should delete any >>>>>>> cookies that match the name “foo” regardless of their domain/path. Perhaps >>>>>>> this could be made more precise and require both the cookie’s name and >>>>>>> value to limit collateral damage? >>>>>>> >>>>>>> This isn’t dangerous as it doesn’t introduce new behavior, it’s just >>>>>>> a convenience so the server doesn’t have to guess all applicable >>>>>>> domain/path combinations (well, it could be a footgun). Any hosts worried >>>>>>> about malicious sub/super-domains should consider the public suffix list as >>>>>>> Yoav mentioned. >>>>>>> >>>>>>> But I question how useful this is and whether it’s worth the added >>>>>>> complexity. 6265bis has a requirement that all UAs limit the longest >>>>>>> specifiable expiry of a cookie to 400 days in the future. Chrome has had >>>>>>> this behavior for a couple of years now meaning that any orphaned cookies >>>>>>> with far-reaching expiry dates have since been deleted. It’s possible that >>>>>>> some orphaned session cookies still exist but Chrome and other UAs have >>>>>>> methods for deleting those as well. >>>>>>> >>>>>>> Given all that I believe it’s increasingly less likely for a server >>>>>>> to see any “cookie cruft” after a ~year and so I’m leaning against the >>>>>>> creation of a `Delete-Cookie` header given the complexity/usefulness >>>>>>> tradeoff. >>>>>>> >>>>>>> - Steven >>>>>>> >>>>>>> On Thu, Oct 31, 2024 at 11:53 PM Yoav Weiss <yoav.weiss@shopify.com> >>>>>>> wrote: >>>>>>> >>>>>>>> It seems to me that it would make sense to mirror the domain-based >>>>>>>> scope of cookies here. >>>>>>>> That is - if you can get these cookies in requests to your origin, >>>>>>>> you can also delete them. >>>>>>>> >>>>>>>> So, if b.example.com have set domain-wide cookies on example.com, >>>>>>>> a.example.com would be able to delete them. But it wouldn't be >>>>>>>> able to delete host-specific cookies for b.example.com. Does that >>>>>>>> make sense? >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Oct 31, 2024 at 6:18 PM Rory Hewitt <rory.hewitt@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Yeah, the existing clear-site functionality has a big security >>>>>>>>> risk and massive blast radius. >>>>>>>>> >>>>>>>>> My thinking on subdomains is that if you own " >>>>>>>>> customer1.saasprovider.com" (and potentially own subdomains >>>>>>>>> within that, e.g. "d999.customer1.saasprovider.com") then there >>>>>>>>> is certainly the possibility that, for reasons fair or foul, your landlord >>>>>>>>> ("saasprovider.com") may send "Delete-Cookie: >>>>>>>>> abc;subDomains=true" and as a result *your* "abc" cookie in *your* >>>>>>>>> "customer1.saasprovider.com" domain is deleted, along with the >>>>>>>>> "abc" cookie in the "saasprovider.com" domain and maybe other >>>>>>>>> subdomains. >>>>>>>>> >>>>>>>> >>>>>>>> Arguably, saasprovider.com should be on the PSL >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> But... >>>>>>>>> >>>>>>>>> Presumably your landlord isn't malicious, so either this scenario >>>>>>>>> would happen because they're hacked or they make a stupid mistake. These >>>>>>>>> things obviously do happen, but is that reason enough to not allow >>>>>>>>> otherwise useful functionality. We're talking about cookies being deleted, >>>>>>>>> which is a low-ish risk, no? >>>>>>>>> >>>>>>>>> We could, of course limit this to certain cookies - perhaps no >>>>>>>>> "Sec-*" cookies or those without the "Secure" attribute or to those which >>>>>>>>> have a domain implicitly (i.e. it wasn't included when the original >>>>>>>>> Set-Cookie header was sent to create it.) >>>>>>>>> >>>>>>>>> To me, the benefits of allowing this subdomain functionality >>>>>>>>> outweigh the drawbacks. But that's just me. >>>>>>>>> >>>>>>>>> On Thu, Oct 31, 2024 at 9:38 AM רועי ברקאי < >>>>>>>>> roybarkayyosef@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> A better mechanism for the clear-site-data would be >>>>>>>>>> to >>>>>>>>>> 1.delete only subdomains cookies that also hold that flag >>>>>>>>>> (allow-parent domain-deletion=true) >>>>>>>>>> 2.where the subdomain cookie has a list of domains allowed to >>>>>>>>>> delete this cookie. >>>>>>>>>> 3.a request should be sent to the subdomain web server to approve >>>>>>>>>> that in which the approval logic would be on the subdomain server side. >>>>>>>>>> >>>>>>>>>> The same 3 suggested solutions are also security architectures >>>>>>>>>> for the feature you suggested (Yoav, Rory). >>>>>>>>>> That way you may add a parent to subdomain deletion without the >>>>>>>>>> risk of supply chain attack as that behavior is implemented by the >>>>>>>>>> subdomain. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, 31 Oct 2024 at 18:18, רועי ברקאי < >>>>>>>>>> roybarkayyosef@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Dear Patrick, >>>>>>>>>>> >>>>>>>>>>> You are correct that risk is also available in that sense as >>>>>>>>>>> well. >>>>>>>>>>> But two wrongs don't make a right. Do you believe this >>>>>>>>>>> supply chain risk is irrelevent? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, 31 Oct 2024 at 18:13, Patrick Meenan < >>>>>>>>>>> patmeenan@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> I agree in principle to subdomains-only, but wouldn't the risks >>>>>>>>>>>> called-out also be a problem with clear-site-data which wipes out all >>>>>>>>>>>> cookies (including parent and horizontally to peers)? >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Oct 31, 2024 at 12:02 PM רועי ברקאי < >>>>>>>>>>>> roybarkayyosef@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Rory please read my response. >>>>>>>>>>>>> >>>>>>>>>>>>> I agree with Rorry on most of the solution. >>>>>>>>>>>>> I believe an issue may be rissen when an authority example.com >>>>>>>>>>>>> may delete a cookie for a.example.com may have supply chain >>>>>>>>>>>>> attack vector possibilities therefore im against that solution. >>>>>>>>>>>>> As a tennant of a domain (owner of a subdomain) I wouldnt want >>>>>>>>>>>>> my landlord ie the domain the company I buy services from to delete the >>>>>>>>>>>>> cookies of my users. >>>>>>>>>>>>> >>>>>>>>>>>>> Take in mind that many subdomains that uses SAAS have their >>>>>>>>>>>>> scripts run as well from the parent domain. therefore a supply chain/DOS >>>>>>>>>>>>> attack may take place via removing access to users by deleting their >>>>>>>>>>>>> cookies. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, 31 Oct 2024 at 17:45, Rory Hewitt < >>>>>>>>>>>>> rory.hewitt@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Since the "Delete-Cookie: abc, def" is a response header, >>>>>>>>>>>>>> then if sent from a server at e.g. bob.example.com, I would >>>>>>>>>>>>>> expect it to only delete the "abc" and "def" cookies in the >>>>>>>>>>>>>> bob.example.com subdomain. Allowing even a higher iste (i.e. >>>>>>>>>>>>>> clearing the "abc" and "def" cookies at the example.com root >>>>>>>>>>>>>> domain seems very dangerous. In a federated world, we have things like " >>>>>>>>>>>>>> customer1.saasprovider.com" who is completely unrelated to " >>>>>>>>>>>>>> customer2.saasprovider.com", and I wouldn't want either of >>>>>>>>>>>>>> them to to be able to delete cookies at the "saasprovider.com" >>>>>>>>>>>>>> root domain, since they could have been placed there by either customer. >>>>>>>>>>>>>> >>>>>>>>>>>>>> However, allowing "Delete-Cookie: abc, def" sent from >>>>>>>>>>>>>> bob.example.com to be able to delete those cookies from both >>>>>>>>>>>>>> bob-example.com and all *.bob.example.com subdomains seems >>>>>>>>>>>>>> more reasonable, IF one assumes that the bob.example.com >>>>>>>>>>>>>> server in some way 'controls' its subdomains. >>>>>>>>>>>>>> >>>>>>>>>>>>>> In short, the only thing that should be able to delete >>>>>>>>>>>>>> cookies from a domain is a Delete-Cookie header sent from that domain or a >>>>>>>>>>>>>> 'higher' (closer to root) domain. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Of course, the header could be enhanced in a similar way to >>>>>>>>>>>>>> HSTS: >>>>>>>>>>>>>> >>>>>>>>>>>>>> "Delete-Cookie: abc, def;subDomains. ghi" >>>>>>>>>>>>>> >>>>>>>>>>>>>> indicating that (if sent from bob.example.com), the >>>>>>>>>>>>>> following cookies should be deleted: >>>>>>>>>>>>>> >>>>>>>>>>>>>> * "abc" if it has a Domain of bob.example.com domain >>>>>>>>>>>>>> * "def" if it has a Domain of bob.example.com domain or any >>>>>>>>>>>>>> subdomains of bob.example.com >>>>>>>>>>>>>> * "ghi" if it has a Domain of bob.example.com domain >>>>>>>>>>>>>> >>>>>>>>>>>>>> But that's getting into more complexity that maybe isn't >>>>>>>>>>>>>> necessary. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Oct 31, 2024 at 4:55 AM Patrick Meenan < >>>>>>>>>>>>>> patmeenan@gmail.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'm assuming the scope would be similar to clear-site-data: >>>>>>>>>>>>>>> "cookies" where, at least in w3c land, it clears across all of the >>>>>>>>>>>>>>> subdomains in the "registered domain" ( >>>>>>>>>>>>>>> https://www.w3.org/TR/clear-site-data/#clear-cookies), just >>>>>>>>>>>>>>> with the ability to target a specific name instead of nuking everything. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Should it be limited to the direct hierarchy or should it >>>>>>>>>>>>>>> also impact same-level origins like clear-site-data does? i.e. >>>>>>>>>>>>>>> bob.example.com clears from bob.example.com and example.com >>>>>>>>>>>>>>> but should it be able to target deleting from >>>>>>>>>>>>>>> alice.example.com? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Oct 31, 2024 at 6:57 AM Yoav Weiss < >>>>>>>>>>>>>>> yoav.weiss@shopify.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Thu, Oct 31, 2024 at 11:49 AM רועי ברקאי < >>>>>>>>>>>>>>>> roybarkayyosef@gmail.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> As a first party coockie holder you may set an expiration >>>>>>>>>>>>>>>>> date on the coockie you have created. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Sure, but since setting an expiration date requires >>>>>>>>>>>>>>>> predicting the future, we need a way to correct past predictions that >>>>>>>>>>>>>>>> didn't quite work out. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Allowing cross site coockie deletion would enable issues >>>>>>>>>>>>>>>>> for users as an attacker may remove all mostly used coockie names >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Can you expand on that? I wouldn't expect a server to be >>>>>>>>>>>>>>>> able to delete cookies that it can't receive, if that makes sense. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Thu, Oct 31, 2024, 12:39 Yoav Weiss < >>>>>>>>>>>>>>>>> yoav.weiss@shopify.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Thu, Oct 31, 2024 at 11:15 AM Daniel Stenberg < >>>>>>>>>>>>>>>>>> daniel@haxx.se> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Thu, 31 Oct 2024, Yoav Weiss wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> > `Delete-Cookie: name1, name2` as an example syntax, >>>>>>>>>>>>>>>>>>> which seems simple >>>>>>>>>>>>>>>>>>> > enough and can get the job done. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Since cookies are hierchical, it should probably be >>>>>>>>>>>>>>>>>>> noted that this list >>>>>>>>>>>>>>>>>>> identifying 'name1' and 'name2' can in fact match >>>>>>>>>>>>>>>>>>> numerous cookies (for >>>>>>>>>>>>>>>>>>> different paths), not just two and there is no way for >>>>>>>>>>>>>>>>>>> this syntax to delete >>>>>>>>>>>>>>>>>>> just a subset of them. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> That's true. At the same time, the use case at hand is >>>>>>>>>>>>>>>>>> one where we want to delete cookies when we have no knowledge of their path. >>>>>>>>>>>>>>>>>> So I believe it's fine to delete all matching cookies. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> +Colin Bendell <colin.bendell@shopify.com> to keep me >>>>>>>>>>>>>>>>>> honest, as he's closer to this work. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> / daniel.haxx.se >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Rory Hewitt >>>>>>>>>>>>>> >>>>>>>>>>>>>> https://www.linkedin.com/in/roryhewitt >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Rory Hewitt >>>>>>>>> >>>>>>>>> https://www.linkedin.com/in/roryhewitt >>>>>>>>> >>>>>>>> -- Astra mortemque praestare gradatim
Received on Sunday, 3 November 2024 17:41:34 UTC