v1.22.0: Yda Hext #1085
Xe
announced in
Announcements
Replies: 1 comment 1 reply
-
This link is broken in the Discussion post; I think that it should be |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
In this release, we finally fix the odd number of CPU cores bug, pave the way for lighter weight challenges, make Anubis more adaptable, and more.
Big ticket items
Proof of React challenge
A new "proof of React" has been added. It runs a simple app in React that has several chained hooks. It is much more lightweight than the proof of work check.
Smaller features
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: v1.21.3...v1.22.0
This discussion was created from the release v1.22.0: Yda Hext.
Beta Was this translation helpful? Give feedback.
All reactions