-
-
Notifications
You must be signed in to change notification settings - Fork 10.1k
Add flag to hide email and phone columns in auth users #39151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This pull request has been ignored for the connected project Preview Branches by Supabase. |
The latest updates on your projects. Learn more about Vercel for GitHub.
|
⛔ Snyk checks have failed. 2 issues have been found so far.
⛔ code/snyk check is complete. 2 issues have been found. (View Details) 💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
(isSuccessStorage || | ||
(isErrorStorage && (errorStorage as Error).message.includes('data is undefined'))) | ||
) { | ||
const columns = formatUserColumns({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DOM-based Cross-site Scripting (XSS)
Unsanitized input from a React useState value flows into a script 'src' attribute, where it is used to dynamically construct the HTML page on client side. This may result in a DOM Based Cross-Site Scripting attack (DOMXSS).
Line 279 | CWE-79 | Priority score 650 | Learn more about this vulnerability
Data flow: 25 steps
Step 1
const [filterKeywords, setFilterKeywords] = useState('') |
Step 2
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L151
Step 3
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L148
Step 4
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L147
Step 5
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L136
Step 6
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L137
Step 7 - 12
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L181
Step 13 - 15
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L282
Step 16
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L279
Step 17
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L252
Step 18
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L253
Step 19 - 20
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L288
Step 21 - 23
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L351
Step 24 - 25
src={icon} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like red herring
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flows into a script 'src' attribute
it does what
}) | ||
} | ||
|
||
const updatedColumns = formatUserColumns({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DOM-based Cross-site Scripting (XSS)
Unsanitized input from a React useState value flows into a script 'src' attribute, where it is used to dynamically construct the HTML page on client side. This may result in a DOM Based Cross-Site Scripting attack (DOMXSS).
Line 429 | CWE-79 | Priority score 650 | Learn more about this vulnerability
Data flow: 25 steps
Step 1
const [filterKeywords, setFilterKeywords] = useState('') |
Step 2
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L151
Step 3
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L148
Step 4
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L147
Step 5
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L136
Step 6
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L137
Step 7 - 12
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L181
Step 13 - 15
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L432
Step 16
apps/studio/components/interfaces/Auth/Users/UsersV2.tsx#L429
Step 17
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L252
Step 18
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L253
Step 19 - 20
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L288
Step 21 - 23
apps/studio/components/interfaces/Auth/Users/Users.utils.tsx#L351
Step 24 - 25
src={icon} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like red herring but let me know if im overlooking something
Studio E2E Results
Artifacts: https://github.com/supabase/supabase/actions/runs/18168684940 Last updated: Wednesday 1, October, 2025 16:41:11 (UTC) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested as described.
Pushed small commit to add new flag to required flags.
(isSuccessStorage || | ||
(isErrorStorage && (errorStorage as Error).message.includes('data is undefined'))) | ||
) { | ||
const columns = formatUserColumns({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flows into a script 'src' attribute
it does what
Context
Adds a flag in enabled features to toggle showing of email and phone columns in auth users page. Should also cover the column dropdown (which toggles visibility of the columns) -> email and phone options should be hidden if flag is off
To test