-
Notifications
You must be signed in to change notification settings - Fork 899
chore: add security advisories to docs #7282
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next
Next commit
chore: add security advisories to docs
- Loading branch information
commit d0000be93252508ac8fbe5d417c00514e81ac7c5
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# API Tokens of deleted users not invalidated | ||
|
||
--- | ||
|
||
## Summary | ||
|
||
Coder identified an issue in [https://github.com/coder/coder](https://github.com/coder/coder) where API tokens belonging to a deleted user were not invalidated. A deleted user in possession of a valid and non-expired API token is still able to use the above token with their full suite of capabilities. | ||
|
||
## Impact: HIGH | ||
|
||
If exploited, an attacker could perform any action that the deleted user was authorized to perform. | ||
|
||
## Exploitability: HIGH | ||
|
||
The CLI writes the API key to `~/.coderv2/session` by default, so any deleted user who previously logged in via the Coder CLI has the potential to exploit this. Note that there is a time window for exploitation; API tokens have a maximum lifetime after which they are no longer valid. | ||
|
||
The issue only affects users who were active (not suspended) at the time they were deleted. Users who were first suspended and later deleted cannot exploit this issue. | ||
|
||
## Affected Versions | ||
|
||
All versions of Coder between v0.8.15 and v0.22.2 (inclusive) are affected. | ||
|
||
All customers are advised to upgrade to [v0.23.0](https://github.com/coder/coder/releases/tag/v0.23.0) as soon as possible. | ||
|
||
## Details | ||
|
||
Coder incorrectly failed to invalidate API keys belonging to a user when they were deleted. When authenticating a user via their API key, Coder incorrectly failed to check whether the API key corresponds to a deleted user. | ||
|
||
## Indications of Compromise | ||
|
||
> 💡 Automated remediation steps in the upgrade purge all affected API keys. Either perform the following query before upgrade or run it on a backup of your database from before the upgrade. | ||
|
||
Execute the following SQL query: | ||
|
||
```sql | ||
SELECT | ||
users.email, | ||
users.updated_at, | ||
api_keys.id, | ||
api_keys.last_used | ||
FROM | ||
users | ||
LEFT JOIN | ||
api_keys | ||
ON | ||
api_keys.user_id = users.id | ||
WHERE | ||
users.deleted | ||
AND | ||
api_keys.last_used > users.updated_at | ||
; | ||
``` | ||
|
||
If the output is similar to the below, then you are not affected: | ||
|
||
```sql | ||
----- | ||
(0 rows) | ||
``` | ||
|
||
Otherwise, the following information will be reported: | ||
|
||
- User email | ||
- Time the user was last modified (i.e. deleted) | ||
- User API key ID | ||
- Time the affected API key was last used. | ||
|
||
> 💡 If your license includes the [Audit Logs](https://coder.com/docs/v2/latest/admin/audit-logs#filtering-logs) feature, you can then query all actions performed by the above users by using the filter `email:$USER_EMAIL`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Security Advisories | ||
|
||
> If you discover a vulnerability in Coder, please do not hesitate to report it to us by following the instructions [here](https://github.com/coder/coder/blob/main/SECURITY.md). | ||
|
||
From time to time, Coder employees or other community members may discover vulnerabilities in the product. | ||
|
||
If a vulnerability requires an immediate upgrade to mitigate a potential security risk, we will add it to the below table. | ||
|
||
Click on the description links to view more details about each specific vulnerability. | ||
|
||
--- | ||
|
||
| Description | Severity | Fix | Vulnerable Versions | | ||
| ---------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------- | ------------------- | | ||
| [API tokens of deleted users not invalidated](./0001_user_apikeys_invalidation.md) | HIGH | [v0.23.0](https://github.com/coder/coder/releases/tag/v0.23.0) | v0.8.25 - v0.22.2 | |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.