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.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
segments
function was added for splitting a path into its slash-separated segments.static/js/workers/*.mjs
.Fixes
Odd numbers of CPU cores are properly supported
Some phones have an odd number of CPU cores. This caused interesting issues. This was fixed by using
Math.trunc
to convert the number of CPU cores back into an integer.Smaller fixes
opts.Logger
to your slog instance of choice (#864).favicon
pattern indata/common/keep-internet-working.yaml
has been updated to permit requests for png/gif/jpg/svg files as well as ico.--cookie-prefix
flag has been fixed so that it is fully respected.data/common/keep-internet-working.yaml
have been updated to appropriately escape the '.' character in the regular expression patterns.Security-relevant changes
Fix potential double-spend for challenges
Anubis operates by issuing a challenge and having the client present a solution for that challenge. Challenges are identified by a unique UUID, which is stored in the database.
The problem is that a challenge could potentially be used twice by a dedicated attacker making a targeted attack against Anubis. Challenge records did not have a "spent" or "used" field. In total, a dedicated attacker could solve a challenge once and reuse that solution across multiple sessions in order to mint additional tokens.
This was fixed by adding a "spent" field to challenges in the data store. When a challenge is solved, that "spent" field gets set to
true
. If a future attempt to solve this challenge is observed, it gets rejected.With the advent of store based challenge issuance in #749, this means that these challenge IDs are only good for 30 minutes. Websites using the most recent version of Anubis have limited exposure to this problem.
Websites using older versions of Anubis have a much more increased exposure to this problem and are encouraged to keep this software updated as often and as frequently as possible.
Thanks to @taviso for reporting this issue.
Breaking changes
New Locales
What's Changed
New Contributors
Full Changelog: TecharoHQ/anubis@v1.21.3...v1.22.0
View the full release notes at https://github.com/TecharoHQ/anubis/releases/tag/v1.22.0.