2 ms·
i do a lot of Salesforce stuff, all of these issues are on Experience Cloud ( the Salesforce portal portfolio ). No one ever looks closely at the "guest user" t
by chasd00 4y ago
i do a lot of Salesforce stuff, all of these issues are on Experience Cloud ( the Salesforce portal portfolio ). No one ever looks closely at the "guest user" this is basically used for unauthenticated portal pages, even though there isn't a user per-se there's still a session and it maps back to a user and profile ( profile = what controls security for a group of users in Salesforce ). What happens is the guest user ends up with read access on an Object ( SF term for a table ) somehow but it's never surfaced on the portal as a page and therefore never tested/known by the testing/qa team. Then, as an end user curious enough, through some browser request manipulation or address bar manipulation you can access the records for that Object (table).
Guest user problems go far deeper than what the article describes and over the years Salesforce has been slowly dialing down what the guest user can have access to. It's an intricate exercise to properly lock down that profile in Experience Cloud (the portal feature portfolio).
Guest user aside, privilege escalation attacks are very easy to introduce when writing custom APEX and front-end code. APEX is Salesforce's backend language similar to Java but runs in a system context not entirely constrained by the security settings of the running user. It's very simple for a naive developer to introduce a privilege escalation attack when writing an APEX method that is called from the front-end javascript framework ( LWC or Aura ). This is especially the case when the underlying record access model (think row-level access control in PostGres) is left to defaults or even opened further and not properly locked down.
At my firm we have an entire practice dedicated to Salesforce security and require security scans, reviews, and remediation performed by this practice for all implementation projects because of things like this.
- Jach 4y agoYeah, it's a sad mess. I used to work at sfdc in the experience cloud, my team didn't own the guest user stuff directly but it and other permissions-related issues were always ongoing problems we'd have to work around anyway, or try to find better solutions for given our limited ability to change things (long history from the Sitemasher acquisition and integration), or help various owning teams fix their own broken stuff (articles were always "fun" and special especially when it came to sitemaps). Even collaborated with dedicated security folks to put together better info on securing a community (now 'digital experience' or whatever). I've thought if I needed some cash I could perhaps join a firm like yours and contribute some value quickly knowing how the sausage is made, but to be honest I'd rather forget about it all...
- chasd00 4y agoDid you know David Green by chance? A few years ago I ran into him a couple times in a row and got to be friends. Great guy but he always seemed to have a lot on his mind heh.
- Jach 4y agoYup, he was PM for my team for a while (and others) before we could hire more and scale up development further. Agreed he's great, he did indeed have a ton on his plate! (Heh, I guess I don't want to forget the people across the various DX teams, most of them I worked with were pretty nice coworkers to have and I still chat with or grab meals with some.)