Splunk Enterprise Security

Why are users able to view data in index by directly clicking the search link even though they don't have permission on that index?

akchauhan
Explorer

We observed a security loophole in Splunk Enterprise Security. We have restricted permission on "Y" index in Splunk to "X" role participants only. Other members, except team X, are not able to view data in that index when they are running query (index="Y") but when someone from x team forwards the search link after running query index="Y" to other team, they are able to view data in that index. I believe the reason is when they share the search link they are sharing sid associated with that search, which is why security is bypassed.

Can someone please help us to understand why this is happening?

0 Karma
1 Solution

LukeMurphey
Champion

The confusing part is in regards to exactly what Splunk is sharing when you use the sharing link. Splunk is sharing the results of a particular search job, not the underlying data. Basically, it allows another user to view the results that you saw when you ran a given search. This doesn't mean the that user you send the link to can even run the search themselves. Thus, someone who views the results from the shared job might get no results if they tell Splunk to try to rerun the search since they might not have access to the indexes.

Effectively, it is kind of like exporting the results page to PDF and sending it to someone who doesn't have access to the indexes. The user still sees the results even though they have no access to the data directly.

When you click the share link on the search Splunk modifies the search job in two ways:

  1. Sets read permissions to everyone (since it doesn't know who you are sending the search results too)
  2. Updates the job lifetime so the results won't get deleted for 7 days

Note that the share search dialog tries to make this apparent by indicating:

The job's lifetime has been extended to 7 days and read permissions have been set to Everyone. 

View solution in original post

LukeMurphey
Champion

The confusing part is in regards to exactly what Splunk is sharing when you use the sharing link. Splunk is sharing the results of a particular search job, not the underlying data. Basically, it allows another user to view the results that you saw when you ran a given search. This doesn't mean the that user you send the link to can even run the search themselves. Thus, someone who views the results from the shared job might get no results if they tell Splunk to try to rerun the search since they might not have access to the indexes.

Effectively, it is kind of like exporting the results page to PDF and sending it to someone who doesn't have access to the indexes. The user still sees the results even though they have no access to the data directly.

When you click the share link on the search Splunk modifies the search job in two ways:

  1. Sets read permissions to everyone (since it doesn't know who you are sending the search results too)
  2. Updates the job lifetime so the results won't get deleted for 7 days

Note that the share search dialog tries to make this apparent by indicating:

The job's lifetime has been extended to 7 days and read permissions have been set to Everyone. 
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.


Introducing Unified TDIR with the New Enterprise Security 8.2

Read the blog
Get Updates on the Splunk Community!

Thanks for the Memories! Splunk University, .conf25, and our Community

Thank you to everyone in the Splunk Community who joined us for .conf25, which kicked off with our iconic ...

Data Persistence in the OpenTelemetry Collector

This blog post is part of an ongoing series on OpenTelemetry. What happens if the OpenTelemetry collector ...

Introducing Splunk 10.0: Smarter, Faster, and More Powerful Than Ever

Now On Demand Whether you're managing complex deployments or looking to future-proof your data ...