Update CSP handler to only query and modify frame ancestors instead of all CSP directives#6398
Conversation
3b64280 to
6c60ce9
Compare
yujin-emma
left a comment
There was a problem hiding this comment.
overall LGTM, left one small comment but not a blocker
6834c11 to
89e1790
Compare
|
might be i missed, i didn't see update logic, but PR said another general comment, it looks we rely on manually test every time make change to these files, could we automate the test. |
The key change is at this line https://github.com/opensearch-project/OpenSearch-Dashboards/pull/6398/files#diff-5cedee9d03c8765c4adb43d8196e75dfe8daec51ced75b9fe9b5df1ded5c8a57R55 We use the new configuration I will follow up on the test automation separately as it involves both API testing and UI testing. |
301bed3 to
cbab476
Compare
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
Signed-off-by: Tianle Huang <tianleh@amazon.com>
cbab476 to
bf1c643
Compare
…f all CSP directives (#6398) * only allow updating frame ancestors Signed-off-by: Tianle Huang <tianleh@amazon.com> * refactor Signed-off-by: Tianle Huang <tianleh@amazon.com> * add test Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key Signed-off-by: Tianle Huang <tianleh@amazon.com> * rename Signed-off-by: Tianle Huang <tianleh@amazon.com> * update unit tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * add change log Signed-off-by: Tianle Huang <tianleh@amazon.com> * undo yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * update readme and variable Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * make code generic Signed-off-by: Tianle Huang <tianleh@amazon.com> * revert yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * add more tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key name Signed-off-by: Tianle Huang <tianleh@amazon.com> * reword change title Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix typo Signed-off-by: Tianle Huang <tianleh@amazon.com> --------- Signed-off-by: Tianle Huang <tianleh@amazon.com> (cherry picked from commit 36c25ae) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md
…f all CSP directives (#6398) * only allow updating frame ancestors Signed-off-by: Tianle Huang <tianleh@amazon.com> * refactor Signed-off-by: Tianle Huang <tianleh@amazon.com> * add test Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key Signed-off-by: Tianle Huang <tianleh@amazon.com> * rename Signed-off-by: Tianle Huang <tianleh@amazon.com> * update unit tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * add change log Signed-off-by: Tianle Huang <tianleh@amazon.com> * undo yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * update readme and variable Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * make code generic Signed-off-by: Tianle Huang <tianleh@amazon.com> * revert yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * add more tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key name Signed-off-by: Tianle Huang <tianleh@amazon.com> * reword change title Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix typo Signed-off-by: Tianle Huang <tianleh@amazon.com> --------- Signed-off-by: Tianle Huang <tianleh@amazon.com> (cherry picked from commit 36c25ae) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md
…f all CSP directives (#6398) (#6463) * only allow updating frame ancestors Signed-off-by: Tianle Huang <tianleh@amazon.com> * refactor Signed-off-by: Tianle Huang <tianleh@amazon.com> * add test Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key Signed-off-by: Tianle Huang <tianleh@amazon.com> * rename Signed-off-by: Tianle Huang <tianleh@amazon.com> * update unit tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * add change log Signed-off-by: Tianle Huang <tianleh@amazon.com> * undo yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * update readme and variable Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * make code generic Signed-off-by: Tianle Huang <tianleh@amazon.com> * revert yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * add more tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key name Signed-off-by: Tianle Huang <tianleh@amazon.com> * reword change title Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix typo Signed-off-by: Tianle Huang <tianleh@amazon.com> --------- Signed-off-by: Tianle Huang <tianleh@amazon.com> (cherry picked from commit 36c25ae) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…f all CSP directives (#6398) (#6464) * only allow updating frame ancestors Signed-off-by: Tianle Huang <tianleh@amazon.com> * refactor Signed-off-by: Tianle Huang <tianleh@amazon.com> * add test Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key Signed-off-by: Tianle Huang <tianleh@amazon.com> * rename Signed-off-by: Tianle Huang <tianleh@amazon.com> * update unit tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * add change log Signed-off-by: Tianle Huang <tianleh@amazon.com> * undo yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * update readme and variable Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix link Signed-off-by: Tianle Huang <tianleh@amazon.com> * make code generic Signed-off-by: Tianle Huang <tianleh@amazon.com> * revert yml Signed-off-by: Tianle Huang <tianleh@amazon.com> * add more tests Signed-off-by: Tianle Huang <tianleh@amazon.com> * update key name Signed-off-by: Tianle Huang <tianleh@amazon.com> * reword change title Signed-off-by: Tianle Huang <tianleh@amazon.com> * fix typo Signed-off-by: Tianle Huang <tianleh@amazon.com> --------- Signed-off-by: Tianle Huang <tianleh@amazon.com> (cherry picked from commit 36c25ae) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> # Conflicts: # CHANGELOG.md Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Description
We get some feedback from security engineers that allowing customers to modify all CSP directives could accidentally expose OSD to attacks. They suggest us to only allow modifying
frame-ancestorsand do not modify other CSP directives unless reviewed case by case.Issues Resolved
Screenshot
Testing the changes
call get API
Confirm that frame ancestors have a default value
'self'.Confirm a local html file which embeds using iframe doesn't open OSD.
call update API
We can see that new CSP is taking effect.
Confirm the html file can now open OSD.
call get API again
call the get API for all configs
call delete API
See that CSP is back to default.

The local html file cannot open OSD.
Check List
yarn test:jestyarn test:jest_integration