diff options
author | cypherpunks <cypherpunks@torproject.org> | 2018-08-09 21:26:10 +0000 |
---|---|---|
committer | cypherpunks <cypherpunks@torproject.org> | 2018-09-14 15:08:55 +0000 |
commit | c613d5513491861431c2852cf4072ae256ba2c67 (patch) | |
tree | 97e1d8e1ef58f56cf129ec10f00ddbf7119a5979 /changes | |
parent | 578f7326eda7307c420286c01b57f71925901533 (diff) | |
download | tor-c613d5513491861431c2852cf4072ae256ba2c67.tar.gz tor-c613d5513491861431c2852cf4072ae256ba2c67.zip |
rust/protover: use .and_not_in() instead of .retain() in all_supported()
.retain() would allocating a Vec of billions of integers and check them
one at a time to separate the supported versions from the unsupported.
This leads to a memory DoS.
Closes ticket 27206. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
Diffstat (limited to 'changes')
-rw-r--r-- | changes/bug27206 | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/changes/bug27206 b/changes/bug27206 new file mode 100644 index 0000000000..c0fbbed702 --- /dev/null +++ b/changes/bug27206 @@ -0,0 +1,4 @@ + o Minor bugfixes (rust): + - protover_all_supported() would attempt to allocate up to 16GB on some + inputs, leading to a potential memory DoS. Fixes bug 27206; bugfix on + 0.3.3.5-rc. |