Skip to content
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

privilege: remove any string concat (#22523) #22688

Closed

Conversation

ti-srebot
Copy link
Contributor

@ti-srebot ti-srebot commented Feb 3, 2021

cherry-pick #22523 to release-3.0
You can switch your code base to this Pull Request by using git-extras:

# In tidb repo:
git pr https://github.com/pingcap/tidb/pull/22688

After apply modifications, you can push your change to this PR via:

git push git@github.com:ti-srebot/tidb.git pr/22688:release-3.0-26086b297cad

What problem does this PR solve?

Part of https://github.com/pingcap/tidb-test/issues/1152

What is changed and how it works?

What's Changed:

This removes any string concatenation from the privilege package, and changes it to use ExecuteInternal. Because the privilege package loads whole tables and does not need any paramaterized SQL, it should work before/after #22499 is merged.

There was no risk of injection from the previous usage, since the concat did not include any user-supplied data. But it's possible a PR in the future may misunderstand this and introduce a security issue. The new approach is to define the sqls as const. Thus, temptations are reduced.

Related changes

  • Need to cherry-pick to the release branch

Check List

Tests

Convered by existing tests.

Side effects

  • None

Release note

  • No release note

Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor Author

/run-all-tests

@ti-srebot
Copy link
Contributor Author

@morgo please accept the invitation then you can push to the cherry-pick pull requests.
https://github.com/ti-srebot/tidb/invitations

@morgo morgo closed this Mar 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants