Open
Description
The getScrollBarSize
function in rc-util
dynamically injects CSS using updateCSS
for measuring scrollbar size. However, it does not respect the nonce
value provided via the ConfigProvider
's csp
property. This leads to CSP violations in environments with strict style-src
policies.
Steps to Reproduce
- Set up a project using
antd
with aConfigProvider
configured to include anonce
value:<ConfigProvider csp={{ nonce: 'test-nonce', }} >
- Use a component that indirectly triggers the
getScrollBarSize
function (i.e.Table
fromrc-table
) - Observe CSP violations in the browser console, such as:
Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self' 'nonce-test-nonce'".
Expected Behavior
The getScrollBarSize
function should respect the configured nonce
by passing it to the updateCSS
function when dynamically injecting styles.
Affected Code
The relevant part of the getScrollBarSize.tsx
, line 49:
updateCSS(
`
#${randomId}::-webkit-scrollbar {
${widthStyle}
${heightStyle}
}`,
randomId,
);
Additional info
This issue was first introduced in the following commit: Commit Hash: e96b0c6
Metadata
Metadata
Assignees
Labels
No labels