Skip to main content
Nintex Community Menu Bar
Question

Record Security Issue??

  • Jul 10, 2024 6:44 PM UTC
  • 12 replies
  • 62 views
  • Translate All

Forum|alt.badge.img+10

I’m getting a really strange issue where a user is able to query a record and successfully save it in from a skuid table when they don’t even have access.

Is there some without sharing setting I’m unaware of? This seems very dangerous.

Record on page:

Proof of non access:

12 replies

Forum|alt.badge.img+20

That’s an OpportunityShare record. Why do you have that in a table?

Translate

Forum|alt.badge.img+10

It’s a task. Not an Opportunityshare (that’s 00t as opposed to my 00T). It’s for a task list I’m making for sales reps.

Translate

Forum|alt.badge.img+10

Jumping Jeepers! That is really strange. 

Could you provide more detail? We’d like to see how to reproduce this issue on our end. Do you have any XML you could paste and share what your security settings are in SF? Perhaps even a video…

Translate

Forum|alt.badge.img+10

Stephen,

I made a video showcasing the issue: https://youtu.be/qGg7gVh9G_I

Here’s the XML:


<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="false" useviewportmeta="true" showheader="false">    <models>
        <model id="TaskList_UserMadeTasks" limit="50" query="true" createrowifnonefound="false" datasource="salesforce" type="" sobject="Task">
            <fields>
                <field id="Subject"/>
                <field id="Id"/>
                <field id="workflowstimulator__c"/>
            </fields>
            <conditions logic="(1 or 2) and 3">
                <condition type="fieldvalue" value="true" enclosevalueinquotes="false" field="NotIsAutoTask__c"/>
                <condition type="fieldvalue" value="true" enclosevalueinquotes="false" field="NotCompleted__c"/>
                <condition type="fieldvalue" value="Lead" enclosevalueinquotes="true" field="Who.Type" operator="!="/>
            </conditions>
            <actions/>
        </model>
    </models>
    <components>
        <skootable showconditions="true" showsavecancel="true" showerrorsinline="true" searchmethod="server" searchbox="true" showexportbuttons="false" pagesize="10" createrecords="true" model="TaskList_UserMadeTasks" buttonposition="" mode="read" allowcolumnreordering="true" uniqueid="sk-3y9jGj-146">
            <fields>
                <field id="Subject" hideable="true" uniqueid="fi-3y9ku3-159"/>
                <field type="COMBO" hideable="true" uniqueid="fi-2Kv9M-140" valuehalign="" allowhtml="true">
                    <label>Template Field</label>
                    <template>&amp;lt;a href="/{{{Id}}}"&amp;gt;Task Link&amp;lt;/a&amp;gt;</template>
                </field>
                <field id="Id" hideable="true" uniqueid="fi-3y9ku3-160" valuehalign="" type=""/>
            </fields>
            <rowactions>
                <action type="edit"/>
                <action type="delete"/>
            </rowactions>
            <massactions usefirstitemasdefault="true">
                <action type="massupdate"/>
                <action type="massdelete"/>
            </massactions>
            <views>
                <view type="standard"/>
            </views>
        </skootable>
    </components>
    <resources>
        <labels/>
        <javascript/>
        <css/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>
Translate

Forum|alt.badge.img+10

Shmuel,

Activities in Salesforce aren’t ‘truly’ private.  You still have read access to an Activity if you can see the WhoId or WhatId the activity is linked to.  I think this applies in your situation.

https://success.salesforce.com/ideaview?id=08730000000BrSoAAK

Thanks,

Bill

Translate

Forum|alt.badge.img+10

Thanks for the reply Bill. I don’t think that’s the issue here.

The video shows there is no WhoId, and the user doesn’t have access to the object so they can’t have access to the WhatId. Additionally, if they had access to the record, why would UserRecordAccess show HasReadAccess as false, and why would the user be unable to access the task from the standard user interface (in video as well) but able to access the task from skuid?


Translate

Forum|alt.badge.img+10

Shmuel,

I failed to ‘RTFM’ (watch) the video.  This does seem like a bug in Skuid.

One thing I was wondering is when you are logged in as the user and using Workbench were you able to query on the Task table using the task id?

Best regards,

Bill

Translate

Forum|alt.badge.img+10

Ha no problem. I wasn’t logged in as the user when I was using workbench (I don’t actually have their password). I was logged in as myself.

But that’s a good idea. I’ll see if I can check that later today.

Translate

Forum|alt.badge.img+10

Thank you providing this. We’re doing our best to look into it now.

Translate

Forum|alt.badge.img+10

Thanks for your patience with this problem. This is the kind of thing that would have my eyebrow raised and my gut feeling knotted.

Skuid respects all security rules set by salesforce. We simply run the APIs provided by salesforce. We have no capacity to bypass their security models. Whatever the error is, it’ll be odd if it is coming from the skuid side of things. That said, we won’t point fingers until we have some data to work with.

We’d like you to try and conduct the same experiment off of skuid. When you see the problem arise, open the console and type in skuid.model.map() then pull up the SOQL statement. Copy it. Open up the developer console in salesforce, enter the query editor, paste what was copied. See if the results are the same. If they are the same, this is definitely a salesforce issue and you should immediately move to open a case with their technical support. If they are different then it might be a skuid problem.

This test is dense and code-y. If you’d like, we’d be happy to go into your org and test it to see. We certainly want to make sure Skuid is on 100% lock down in all departments security related. We’d prefer to run the test as well. Two sets of eyes are better than one. If that is the case, let me know and we’ll complete that step via email rather than community.

Translate

Forum|alt.badge.img+10

Thanks Stephen,

How do you suppose I test the query? The user in question doesn’t have access to the admin console (which requires Author Apex permission, which requires Modify All permission which required View All permission which would invalidate our test :P)

Translate

Forum|alt.badge.img+10

Check your email

Translate