Issues that might arise due to having content disposition: inline on images | Community
Skip to main content
New Participant
February 18, 2021
Solved

Issues that might arise due to having content disposition: inline on images

  • February 18, 2021
  • 1 reply
  • 1487 views

I am trying to display images (png, jpeg, gif, svg) directly on browser instead of letting the users downloading it. I've read from so many places that having content disposition header as inline might cause some security issues, and it is better to have it as attachment. Can anyone provide me a scenario where this might be a problem?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Sanket_Kumbharkhane

Hi @aemamateur ,

 

yes, the OSGi config "org.apache.sling.security.impl.ContentDispositionFilter" provides the way to disable it but it could lead to security issues and that's why it is enabled by default in the product.

 

Here are a few security issues can cause: 

 

1. SVG images are vulnerable to XSS  attacks

https://research.securitum.com/do-you-allow-to-load-svg-files-you-have-xss/

 

2. if a user with access (or attacker) was to upload an HTML or JS file into the DAM which could execute first party in the domain, they could circumvent JS browser protections like ORIGIN headers.

 

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/apache-sling-content-disposition-filter/qaq-p/164687

 

3. Also, check XSS Attack 4: Capture the keystrokes by injecting a keylogger

https://pentest-tools.com/blog/xss-attacks-practical-scenarios/

 

So, explore all the options in the above OSGI config like "Content Disposition Paths" & "Excluded Resource Paths" before disabling it for all files.

 

Hope it will help you.

 

Thanks

1 reply

Sanket_Kumbharkhane
Sanket_KumbharkhaneAccepted solution
New Participant
February 18, 2021

Hi @aemamateur ,

 

yes, the OSGi config "org.apache.sling.security.impl.ContentDispositionFilter" provides the way to disable it but it could lead to security issues and that's why it is enabled by default in the product.

 

Here are a few security issues can cause: 

 

1. SVG images are vulnerable to XSS  attacks

https://research.securitum.com/do-you-allow-to-load-svg-files-you-have-xss/

 

2. if a user with access (or attacker) was to upload an HTML or JS file into the DAM which could execute first party in the domain, they could circumvent JS browser protections like ORIGIN headers.

 

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/apache-sling-content-disposition-filter/qaq-p/164687

 

3. Also, check XSS Attack 4: Capture the keystrokes by injecting a keylogger

https://pentest-tools.com/blog/xss-attacks-practical-scenarios/

 

So, explore all the options in the above OSGI config like "Content Disposition Paths" & "Excluded Resource Paths" before disabling it for all files.

 

Hope it will help you.

 

Thanks

New Participant
February 19, 2021
Sanket, thanks for the reply. I specifically want to display some pictures that are stored under 'content/dam/*: images/png'. can i add a 'Content-Security-Policy': 'script-src none' header to those urls to stop script execution?