Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cargo-audit-advisory-db for 
openSUSE:Factory checked in at 2021-04-06 17:30:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cargo-audit-advisory-db (Old)
 and      /work/SRC/openSUSE:Factory/.cargo-audit-advisory-db.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cargo-audit-advisory-db"

Tue Apr  6 17:30:10 2021 rev:2 rq:882781 version:20210401

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/cargo-audit-advisory-db/cargo-audit-advisory-db.changes
  2021-03-30 21:45:32.642667916 +0200
+++ 
/work/SRC/openSUSE:Factory/.cargo-audit-advisory-db.new.2401/cargo-audit-advisory-db.changes
        2021-04-06 17:31:34.755245758 +0200
@@ -1,0 +2,13 @@
+Wed Mar 31 23:17:44 UTC 2021 - wbr...@suse.de
+
+- Update to version 20210401:
+  * Assigned RUSTSEC-2021-0050 to reorder
+  * Add advisory for out-of-bounds write and uninitialized memory exposure in 
reorder
+  * max7301: Mark RUSTSEC-2020-0152 as patched. (#859)
+  * Assigned RUSTSEC-2020-0152 to max7301
+  * Add advisory for data race in max7301
+  * Assigned RUSTSEC-2020-0151 to generator
+  * Add advisory for data race in generator (#855)
+  * Assigned RUSTSEC-2020-0150 to disrustor
+
+-------------------------------------------------------------------

Old:
----
  advisory-db-20210317.tar.xz

New:
----
  advisory-db-20210401.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cargo-audit-advisory-db.spec ++++++
--- /var/tmp/diff_new_pack.HtCbiA/_old  2021-04-06 17:31:35.315246391 +0200
+++ /var/tmp/diff_new_pack.HtCbiA/_new  2021-04-06 17:31:35.315246391 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           cargo-audit-advisory-db
-Version:        20210317
+Version:        20210401
 Release:        0
 Summary:        A database of known security issues for Rust depedencies
 License:        CC0-1.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.HtCbiA/_old  2021-04-06 17:31:35.347246428 +0200
+++ /var/tmp/diff_new_pack.HtCbiA/_new  2021-04-06 17:31:35.351246432 +0200
@@ -2,7 +2,7 @@
   <service mode="disabled" name="obs_scm">
     <param name="url">https://github.com/RustSec/advisory-db.git</param>
     <param name="scm">git</param>
-    <param name="version">20210317</param>
+    <param name="version">20210401</param>
     <param name="revision">master</param>
     <param name="changesgenerate">enable</param>
     <param name="changesauthor">wbr...@suse.de</param>

++++++ advisory-db-20210317.tar.xz -> advisory-db-20210401.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/advisory-db-20210317/.duplicate-id-guard 
new/advisory-db-20210401/.duplicate-id-guard
--- old/advisory-db-20210317/.duplicate-id-guard        2021-03-07 
19:44:24.000000000 +0100
+++ new/advisory-db-20210401/.duplicate-id-guard        2021-03-31 
13:30:20.000000000 +0200
@@ -1,3 +1,3 @@
 This file causes merge conflicts if two ID assignment jobs run concurrently.
 This prevents duplicate ID assignment due to a race between those jobs.
-c99c5d02ebad78e89d8918670602c37b538a99d8f9efd6aba65c468ad9e64a00  -
+edf964eb367af4474a41f79406f539e8399c15cfd917cd4917cb64e0e599aac1  -
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/adtensor/RUSTSEC-2021-0045.md 
new/advisory-db-20210401/crates/adtensor/RUSTSEC-2021-0045.md
--- old/advisory-db-20210317/crates/adtensor/RUSTSEC-2021-0045.md       
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/adtensor/RUSTSEC-2021-0045.md       
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,21 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0045"
+package = "adtensor"
+date = "2021-01-11"
+url = "https://github.com/charles-r-earp/adtensor/issues/4";
+categories = ["memory-corruption"]
+keywords = ["memory-safety"]
+
+[versions]
+patched = []
+```
+
+# FromIterator implementation for Vector/Matrix can drop uninitialized memory
+
+The `FromIterator<T>` methods for `Vector` and `Matrix` rely on the type
+parameter `N` to allocate space in the iterable.
+
+If the passed in `N` type parameter is larger than the number of items returned
+by the iterator, it can lead to uninitialized memory being left in the
+`Vector` or `Matrix` type which gets dropped.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/appendix/RUSTSEC-2020-0149.md 
new/advisory-db-20210401/crates/appendix/RUSTSEC-2020-0149.md
--- old/advisory-db-20210317/crates/appendix/RUSTSEC-2020-0149.md       
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/appendix/RUSTSEC-2020-0149.md       
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,23 @@
+```toml
+[advisory]
+id = "RUSTSEC-2020-0149"
+package = "appendix"
+date = "2020-11-15"
+url = "https://github.com/krl/appendix/issues/6";
+categories = ["memory-corruption", "thread-safety"]
+
+[versions]
+patched = []
+```
+
+# Data race and memory safety issue in `Index`
+
+The `appendix` crate implements a key-value mapping data structure called
+`Index<K, V>` that is stored on disk. The crate allows for any type to inhabit
+the generic `K` and `V` type parameters and implements Send and Sync for them
+unconditionally.
+
+Using a type that is not marked as `Send` or `Sync` with `Index` can allow it
+to be used across multiple threads leading to data races. Additionally using
+reference types for the keys or values will lead to the segmentation faults
+in the crate's code.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/advisory-db-20210317/crates/bam/RUSTSEC-2021-0027.md 
new/advisory-db-20210401/crates/bam/RUSTSEC-2021-0027.md
--- old/advisory-db-20210317/crates/bam/RUSTSEC-2021-0027.md    2021-03-07 
19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/bam/RUSTSEC-2021-0027.md    2021-03-31 
13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0027"
 package = "bam"
+aliases = ["CVE-2021-28027"]
 date = "2021-01-07"
 url = "https://gitlab.com/tprodanov/bam/-/issues/4";
 categories = ["memory-corruption"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/byte_struct/RUSTSEC-2021-0032.md 
new/advisory-db-20210401/crates/byte_struct/RUSTSEC-2021-0032.md
--- old/advisory-db-20210317/crates/byte_struct/RUSTSEC-2021-0032.md    
2021-03-07 19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/byte_struct/RUSTSEC-2021-0032.md    
2021-03-31 13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0032"
 package = "byte_struct"
+aliases = ["CVE-2021-28033"]
 date = "2021-03-01"
 url = "https://github.com/wwylele/byte-struct-rs/issues/1";
 categories = ["memory-corruption"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/advisory-db-20210317/crates/cgc/RUSTSEC-2020-0148.md 
new/advisory-db-20210401/crates/cgc/RUSTSEC-2020-0148.md
--- old/advisory-db-20210317/crates/cgc/RUSTSEC-2020-0148.md    1970-01-01 
01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/cgc/RUSTSEC-2020-0148.md    2021-03-31 
13:30:20.000000000 +0200
@@ -0,0 +1,25 @@
+```toml
+[advisory]
+id = "RUSTSEC-2020-0148"
+package = "cgc"
+date = "2020-12-10"
+url = "https://github.com/playXE/cgc/issues/5";
+categories = ["memory-corruption"]
+keywords = ["memory-safety", "aliasing", "concurrency"]
+
+[versions]
+patched = []
+```
+
+# Multiple soundness issues in `Ptr`
+
+Affected versions of this crate have the following issues:
+
+1. `Ptr` implements `Send` and `Sync` for all types, this can lead to data
+   races by sending non-thread safe types across threads.
+
+2. `Ptr::get` violates mutable alias rules by returning multiple mutable
+   references to the same object.
+
+3. `Ptr::write` uses non-atomic writes to the underlying pointer. This means
+   that when used across threads it can lead to data races.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/diesel/RUSTSEC-2021-0037.md 
new/advisory-db-20210401/crates/diesel/RUSTSEC-2021-0037.md
--- old/advisory-db-20210317/crates/diesel/RUSTSEC-2021-0037.md 2021-03-07 
19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/diesel/RUSTSEC-2021-0037.md 2021-03-31 
13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0037"
 package = "diesel"
+aliases = ["CVE-2021-28305"]
 date = "2021-03-05"
 url = "https://github.com/diesel-rs/diesel/pull/2663";
 categories = ["memory-corruption"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/disrustor/RUSTSEC-2020-0150.md 
new/advisory-db-20210401/crates/disrustor/RUSTSEC-2020-0150.md
--- old/advisory-db-20210317/crates/disrustor/RUSTSEC-2020-0150.md      
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/disrustor/RUSTSEC-2020-0150.md      
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,21 @@
+```toml
+[advisory]
+id = "RUSTSEC-2020-0150"
+package = "disrustor"
+date = "2020-12-17"
+url = "https://github.com/sklose/disrustor/issues/1";
+categories = ["memory-corruption", "thread-safety"]
+
+[versions]
+patched = []
+```
+
+# RingBuffer can create multiple mutable references and cause data races
+
+The `RingBuffer` type retrieves mutable references from the `DataProvider` in a
+non-atomic manner, potentially allowing the creation of multiple mutable
+references. `RingBuffer` also implements the `Send` and `Sync` traits for all
+types `T`.
+
+This allows undefined behavior from the aliased mutable references as well
+as data races.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/fltk/RUSTSEC-2021-0038.md 
new/advisory-db-20210401/crates/fltk/RUSTSEC-2021-0038.md
--- old/advisory-db-20210317/crates/fltk/RUSTSEC-2021-0038.md   2021-03-07 
19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/fltk/RUSTSEC-2021-0038.md   2021-03-31 
13:30:20.000000000 +0200
@@ -2,6 +2,11 @@
 [advisory]
 id = "RUSTSEC-2021-0038"
 package = "fltk"
+aliases = [
+    "CVE-2021-28306",
+    "CVE-2021-28307",
+    "CVE-2021-28308",
+]
 date = "2021-03-06"
 keywords = ["undefined_behavior"]
 url = "https://github.com/MoAlyousef/fltk-rs/issues/519";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/generator/RUSTSEC-2020-0151.md 
new/advisory-db-20210401/crates/generator/RUSTSEC-2020-0151.md
--- old/advisory-db-20210317/crates/generator/RUSTSEC-2020-0151.md      
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/generator/RUSTSEC-2020-0151.md      
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,25 @@
+```toml
+[advisory]
+id = "RUSTSEC-2020-0151"
+package = "generator"
+date = "2020-11-16"
+url = "https://github.com/Xudong-Huang/generator-rs/issues/27";
+categories = ["memory-corruption"]
+keywords = ["concurrency"]
+
+[versions]
+patched = [">= 0.7.0"]
+```
+
+# Generators can cause data races if non-Send types are used in their 
generator functions
+
+The `Generator` type is an iterable which uses a generator function that yields
+values. In affected versions of the crate, the provided function yielding 
values
+had no `Send` bounds despite the `Generator` itself implementing `Send`.
+
+The generator function lacking a `Send` bound means that types that are
+dangerous to send across threads such as `Rc` could be sent as part of a
+generator, potentially leading to data races.
+
+This flaw was fixed in commit 
[`f7d120a3b`](https://github.com/Xudong-Huang/generator-rs/commit/f7d120a3b724d06a7b623d0a4306acf8f78cb4f0)
+by enforcing that the generator function be bound by `Send`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/hyper/RUSTSEC-2021-0020.md 
new/advisory-db-20210401/crates/hyper/RUSTSEC-2021-0020.md
--- old/advisory-db-20210317/crates/hyper/RUSTSEC-2021-0020.md  2021-03-07 
19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/hyper/RUSTSEC-2021-0020.md  2021-03-31 
13:30:20.000000000 +0200
@@ -9,7 +9,7 @@
 aliases = ["CVE-2021-21299"]
 
 [versions]
-patched = [">= 0.14.3", "0.13.10"]
+patched = [">= 0.14.3", "0.13.10", "0.12.36"]
 unaffected = ["< 0.12.0"]
 ```
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/insert_many/RUSTSEC-2021-0042.md 
new/advisory-db-20210401/crates/insert_many/RUSTSEC-2021-0042.md
--- old/advisory-db-20210317/crates/insert_many/RUSTSEC-2021-0042.md    
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/insert_many/RUSTSEC-2021-0042.md    
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,21 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0042"
+package = "insert_many"
+date = "2021-01-26"
+url = "https://github.com/rphmeier/insert_many/issues/1";
+categories = ["memory-corruption"]
+keywords = ["memory-safety", "double-free"]
+
+[versions]
+patched = []
+```
+
+# insert_many can drop elements twice on panic
+
+Affected versions of `insert_many` used `ptr::copy` to move over items in a
+vector to make space before inserting, duplicating their ownership. It then
+iterated over a provided `Iterator` to insert the new items.
+
+If the iterator's `.next()` method panics then the vector would drop the same
+elements twice.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/internment/RUSTSEC-2021-0036.md 
new/advisory-db-20210401/crates/internment/RUSTSEC-2021-0036.md
--- old/advisory-db-20210317/crates/internment/RUSTSEC-2021-0036.md     
2021-03-07 19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/internment/RUSTSEC-2021-0036.md     
2021-03-31 13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0036"
 package = "internment"
+aliases = ["CVE-2021-28037"]
 date = "2021-03-03"
 url = "https://github.com/droundy/internment/issues/20";
 categories = ["thread-safety"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/max7301/RUSTSEC-2020-0152.md 
new/advisory-db-20210401/crates/max7301/RUSTSEC-2020-0152.md
--- old/advisory-db-20210317/crates/max7301/RUSTSEC-2020-0152.md        
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/max7301/RUSTSEC-2020-0152.md        
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,22 @@
+```toml
+[advisory]
+id = "RUSTSEC-2020-0152"
+package = "max7301"
+date = "2020-12-18"
+url = "https://github.com/edarc/max7301/issues/1";
+categories = ["memory-corruption"]
+keywords = ["concurrency"]
+
+[versions]
+patched = [">= 0.2.0"]
+```
+
+# ImmediateIO and TransactionalIO can cause data races
+
+The `ImmediateIO` and `TransactionalIO` types implement `Sync` for all 
contained
+`Expander<EI>` types regardless of if the `Expander` itself is safe to use
+across threads.
+
+As the `IO` types allow retrieving the `Expander`, this can lead to non-thread
+safe types being sent across threads as part of the `Expander` leading to data
+races.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/nano_arena/RUSTSEC-2021-0031.md 
new/advisory-db-20210401/crates/nano_arena/RUSTSEC-2021-0031.md
--- old/advisory-db-20210317/crates/nano_arena/RUSTSEC-2021-0031.md     
2021-03-07 19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/nano_arena/RUSTSEC-2021-0031.md     
2021-03-31 13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0031"
 package = "nano_arena"
+aliases = ["CVE-2021-28032"]
 date = "2021-01-31"
 url = "https://github.com/bennetthardwick/nano-arena/issues/1";
 categories = ["memory-corruption"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/parse_duration/RUSTSEC-2021-0041.md 
new/advisory-db-20210401/crates/parse_duration/RUSTSEC-2021-0041.md
--- old/advisory-db-20210317/crates/parse_duration/RUSTSEC-2021-0041.md 
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/parse_duration/RUSTSEC-2021-0041.md 
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,23 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0041"
+aliases = ["CAN-2021-1000007"]
+package = "parse_duration"
+date = "2021-03-18"
+url = "https://github.com/zeta12ti/parse_duration/issues/21";
+categories = ["denial-of-service"]
+keywords = ["parsing", "untrusted data"]
+
+[versions]
+patched = []
+unaffected = []
+
+[affected.functions]
+"parse_duration::parse" = ["*"]
+```
+
+# Denial of service through parsing payloads with too big exponent
+
+The `parse_duration::parse` function allows for parsing duration strings with 
exponents like `5e5s` where under the hood, the [`BigInt` type along with the 
`pow` function are used for such 
payloads](https://github.com/zeta12ti/parse_duration/blob/26940ab5cd4e3a9d6bd97aa101f8d4bbfd18ee8c/src/parse.rs#L335).
 Passing an arbitrarily big exponent makes the `parse_duration::parse` function 
to process the payload for a very long time taking up CPU and memory.
+
+This allows an attacker to cause a DoS if the `parse_duration::parse` function 
is used to process untrusted input.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/quinn/RUSTSEC-2021-0035.md 
new/advisory-db-20210401/crates/quinn/RUSTSEC-2021-0035.md
--- old/advisory-db-20210317/crates/quinn/RUSTSEC-2021-0035.md  2021-03-07 
19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/quinn/RUSTSEC-2021-0035.md  2021-03-31 
13:30:20.000000000 +0200
@@ -2,7 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0035"
 package = "quinn"
-aliases = []
+aliases = ["CVE-2021-28036"]
 date = "2021-03-04"
 url = "https://github.com/quinn-rs/quinn/issues/968";
 keywords = ["memory", "layout", "cast"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/reorder/RUSTSEC-2021-0050.md 
new/advisory-db-20210401/crates/reorder/RUSTSEC-2021-0050.md
--- old/advisory-db-20210317/crates/reorder/RUSTSEC-2021-0050.md        
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/reorder/RUSTSEC-2021-0050.md        
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,28 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0050"
+package = "reorder"
+date = "2021-02-24"
+url = "https://github.com/tiby312/reorder/issues/1";
+keywords = ["memory-corruption", "out-of-bounds"]
+
+[versions]
+patched = []
+```
+
+# swap_index can write out of bounds and return uninitialized memory
+
+`swap_index` takes an iterator and swaps the items with their corresponding
+indexes. It reserves capacity and sets the length of the vector based on the
+`.len()` method of the iterator.
+
+If the `len()` returned by the iterator is larger than the actual number of
+elements yielded, then `swap_index` creates a vector containing uninitialized
+members. If the `len()` returned by the iterator is smaller than the actual
+number of members yielded, then `swap_index` can write out of bounds past
+its allocated vector.
+
+As noted by the Rust documentation, 
[`len()`](https://doc.rust-lang.org/std/iter/trait.ExactSizeIterator.html#method.len)
+and `size_hint()` are primarily meant for optimization and incorrect values
+from their implementations should not lead to memory safety violations.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/rocket/RUSTSEC-2021-0044.md 
new/advisory-db-20210401/crates/rocket/RUSTSEC-2021-0044.md
--- old/advisory-db-20210317/crates/rocket/RUSTSEC-2021-0044.md 1970-01-01 
01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/rocket/RUSTSEC-2021-0044.md 2021-03-31 
13:30:20.000000000 +0200
@@ -0,0 +1,33 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0044"
+package = "rocket"
+date = "2021-02-09"
+url = "https://github.com/SergioBenitez/Rocket/issues/1534";
+informational = "unsound"
+categories = ["memory-corruption"]
+keywords = ["memory-safety", "use-after-free"]
+
+[versions]
+patched = [">= 0.4.7"]
+```
+
+# Use after free possible in `uri::Formatter` on panic
+
+Affected versions of this crate transmuted a `&str` to a `&'static str` before
+pushing it into a `StackVec`, this value was then popped later in the same
+function.
+
+This was assumed to be safe because the reference would be valid while the
+method's stack was active. In between the push and the pop, however, a function
+`f` was called that could invoke a user provided function.
+
+If the user provided panicked, then the assumption used by the function was no
+longer true and the transmute to `&'static` would create an illegal static
+reference to the string. This could result in a freed string being used during
+(such as in a `Drop` implementation) or after (e.g through `catch_unwind`) the
+panic unwinding.
+
+This flaw was corrected in commit 
[e325e2f](https://github.com/SergioBenitez/Rocket/commit/e325e2fce4d9f9f392761e9fb58b418a48cef8bb)
+by using a guard object to ensure that the `&'static str` was dropped inside
+the function.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/scratchpad/RUSTSEC-2021-0030.md 
new/advisory-db-20210401/crates/scratchpad/RUSTSEC-2021-0030.md
--- old/advisory-db-20210317/crates/scratchpad/RUSTSEC-2021-0030.md     
2021-03-07 19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/scratchpad/RUSTSEC-2021-0030.md     
2021-03-31 13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0030"
 package = "scratchpad"
+aliases = ["CVE-2021-28031"]
 date = "2021-02-18"
 url = "https://github.com/okready/scratchpad/issues/1";
 categories = ["memory-corruption"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/slice-deque/RUSTSEC-2021-0047.md 
new/advisory-db-20210401/crates/slice-deque/RUSTSEC-2021-0047.md
--- old/advisory-db-20210317/crates/slice-deque/RUSTSEC-2021-0047.md    
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/slice-deque/RUSTSEC-2021-0047.md    
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,20 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0047"
+package = "slice-deque"
+date = "2021-02-19"
+url = "https://github.com/gnzlbg/slice_deque/issues/90";
+categories = ["memory-corruption"]
+keywords = ["memory-safety", "double-free"]
+
+[versions]
+patched = []
+```
+
+# SliceDeque::drain_filter can double drop an element if the predicate panics
+
+Affected versions of the crate incremented the current index of the drain 
filter
+iterator *before* calling the predicate function `self.pred`.
+
+If the predicate function panics, it is possible for the last element in the
+iterator to be dropped twice.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/stack_dst/RUSTSEC-2021-0033.md 
new/advisory-db-20210401/crates/stack_dst/RUSTSEC-2021-0033.md
--- old/advisory-db-20210317/crates/stack_dst/RUSTSEC-2021-0033.md      
2021-03-07 19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/stack_dst/RUSTSEC-2021-0033.md      
2021-03-31 13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0033"
 package = "stack_dst"
+aliases = ["CVE-2021-28034", "CVE-2021-28035"]
 date = "2021-02-22"
 url = "https://github.com/thepowersgang/stack_dst-rs/issues/5";
 categories = ["memory-corruption"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/stackvector/RUSTSEC-2021-0048.md 
new/advisory-db-20210401/crates/stackvector/RUSTSEC-2021-0048.md
--- old/advisory-db-20210317/crates/stackvector/RUSTSEC-2021-0048.md    
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/stackvector/RUSTSEC-2021-0048.md    
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,22 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0048"
+package = "stackvector"
+date = "2021-02-19"
+url = "https://github.com/Alexhuszagh/rust-stackvector/issues/2";
+categories = ["memory-corruption"]
+
+[versions]
+patched = []
+```
+
+# StackVec::extend can write out of bounds when size_hint is incorrect
+
+`StackVec::extend` used the lower and upper bounds from an Iterator's
+`size_hint` to determine how many items to push into the stack based vector.
+
+If the `size_hint` implementation returned a lower bound that was larger than
+the upper bound, `StackVec` would write out of bounds and overwrite memory
+on the stack. As mentioned by the 
[size_hint](https://doc.rust-lang.org/std/iter/trait.Iterator.html#provided-methods)
+documentation, `size_hint` is mainly for optimization and incorrect
+implementations should not lead to memory safety issues.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/telemetry/RUSTSEC-2021-0046.md 
new/advisory-db-20210401/crates/telemetry/RUSTSEC-2021-0046.md
--- old/advisory-db-20210317/crates/telemetry/RUSTSEC-2021-0046.md      
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/telemetry/RUSTSEC-2021-0046.md      
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,21 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0046"
+package = "telemetry"
+date = "2021-02-17"
+url = "https://github.com/Yoric/telemetry.rs/issues/45";
+categories = ["memory-corruption"]
+keywords = ["memory-safety"]
+
+[versions]
+patched = []
+```
+
+# misc::vec_with_size() can drop uninitialized memory if clone panics
+
+`misc::vec_with_size` creates a vector of the provided `size` and immediately
+calls `vec.set_len(size)` on it, initially filling it with uninitialized 
memory.
+It then inserts elements using `vec[i] = value.clone()`.
+
+If the `value.clone()` call panics, uninitialized items in the vector will be
+dropped leading to undefined behavior.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/through/RUSTSEC-2021-0049.md 
new/advisory-db-20210401/crates/through/RUSTSEC-2021-0049.md
--- old/advisory-db-20210317/crates/through/RUSTSEC-2021-0049.md        
1970-01-01 01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/through/RUSTSEC-2021-0049.md        
2021-03-31 13:30:20.000000000 +0200
@@ -0,0 +1,22 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0049"
+package = "through"
+date = "2021-02-18"
+url = "https://github.com/gretchenfrage/through/issues/1";
+categories = ["memory-corruption"]
+keywords = ["memory-safety", "double-free"]
+
+[versions]
+patched = []
+```
+
+# `through` and `through_and` causes a double free if the map function panics
+
+`through` and `through_and` take a mutable reference as well as a mapping
+function to change the provided reference. They do this by calling `ptr::read`
+on the reference which duplicates ownership and then calling the mapping
+function.
+
+If the mapping function panics, both the original object and the one
+duplicated by `ptr::read` get dropped, causing a double free.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/toodee/RUSTSEC-2021-0028.md 
new/advisory-db-20210401/crates/toodee/RUSTSEC-2021-0028.md
--- old/advisory-db-20210317/crates/toodee/RUSTSEC-2021-0028.md 2021-03-07 
19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/toodee/RUSTSEC-2021-0028.md 2021-03-31 
13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0028"
 package = "toodee"
+aliases = ["CVE-2021-28028", "CVE-2021-28029"]
 date = "2021-02-19"
 url = "https://github.com/antonmarsden/toodee/issues/13";
 categories = ["memory-corruption"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/truetype/RUSTSEC-2021-0029.md 
new/advisory-db-20210401/crates/truetype/RUSTSEC-2021-0029.md
--- old/advisory-db-20210317/crates/truetype/RUSTSEC-2021-0029.md       
2021-03-07 19:44:24.000000000 +0100
+++ new/advisory-db-20210401/crates/truetype/RUSTSEC-2021-0029.md       
2021-03-31 13:30:20.000000000 +0200
@@ -2,6 +2,7 @@
 [advisory]
 id = "RUSTSEC-2021-0029"
 package = "truetype"
+aliases = ["CVE-2021-28030"]
 date = "2021-02-17"
 url = "https://github.com/bodoni/truetype/issues/11";
 categories = ["memory-exposure"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/advisory-db-20210317/crates/uu_od/RUSTSEC-2021-0043.md 
new/advisory-db-20210401/crates/uu_od/RUSTSEC-2021-0043.md
--- old/advisory-db-20210317/crates/uu_od/RUSTSEC-2021-0043.md  1970-01-01 
01:00:00.000000000 +0100
+++ new/advisory-db-20210401/crates/uu_od/RUSTSEC-2021-0043.md  2021-03-31 
13:30:20.000000000 +0200
@@ -0,0 +1,22 @@
+```toml
+[advisory]
+id = "RUSTSEC-2021-0043"
+package = "uu_od"
+date = "2021-02-17"
+url = "https://github.com/uutils/coreutils/issues/1729";
+categories = ["memory-exposure"]
+
+[versions]
+patched = [">= 0.0.4"]
+```
+
+# PartialReader passes uninitialized memory to user-provided Read
+
+Affected versions of this crate passed an uniniitalized buffer to a
+user-provided `Read` instance in `PartialReader::read`.
+
+This can result in safe `Read` implementations reading from the uninitialized
+buffer leading to undefined behavior.
+
+The flaw was fixed in commit 
[`39d62c6`](https://github.com/uutils/coreutils/commit/39d62c6c1f809022c903180471c10fde6ecd12d1)
+by zero-initializing the passed buffer.

Reply via email to