enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.34k stars 321 forks source link

Upgrade dependencies that have serious security/safety issues #5175

Open wdanilo opened 1 year ago

wdanilo commented 1 year ago

This task is automatically imported from the old Task Issue Board and it was originally created by Michael Mauderer. Original issue is here.


Description

This avoids us running unto unexpected crashes or issues caused by our dependencies. It also avoids us and our users being exposed to potential security vulnerabilities in the UI.

Note that the time estimate is an initial guess, assuming that only minor changes are needed for each dependency upgrade. If it turns out updating a dependency is more work, this should be updated or be refactored in a new task (especially tokio is a big jump and might contain more API changes) .

Resources

This was determined via carg-audit and covers only the most serious issues (not warnings)

Crate: chrono Version: 0.4.19 Title: Potential segfault in localtime_r invocations Date: 2020-11-10 ID: RUSTSEC-2020-0159 URL: https://rustsec.org/advisories/RUSTSEC-2020-0159 Solution: No safe upgrade is available! Dependency tree: chrono 0.4.19 └── engine-protocol 0.1.0 ├── ide-view-graph-editor 0.1.0 │ └── ide-view 0.1.0 │ ├── enso-gui 0.1.0 │ ├── debug-scene-visualization 0.1.0 │ │ └── enso-debug-scene 0.1.0 │ │ └── enso-gui 0.1.0 │ └── debug-scene-interface 0.1.0 │ └── enso-debug-scene 0.1.0 ├── ide-view 0.1.0 ├── enso-gui 0.1.0 └── double-representation 0.1.0 └── enso-gui 0.1.0

Crate: flatbuffers Version: 0.5.0 Title: Unsound impl Follow for bool Date: 2019-10-20 ID: RUSTSEC-2019-0028 URL: https://rustsec.org/advisories/RUSTSEC-2019-0028 Solution: Upgrade to >=0.6.1 Dependency tree: flatbuffers 0.5.0 └── engine-protocol 0.1.0 ├── ide-view-graph-editor 0.1.0 │ └── ide-view 0.1.0 │ ├── enso-gui 0.1.0 │ ├── debug-scene-visualization 0.1.0 │ │ └── enso-debug-scene 0.1.0 │ │ └── enso-gui 0.1.0 │ └── debug-scene-interface 0.1.0 │ └── enso-debug-scene 0.1.0 ├── ide-view 0.1.0 ├── enso-gui 0.1.0 └── double-representation 0.1.0 └── enso-gui 0.1.0

Crate: flatbuffers Version: 0.5.0 Title: read_scalar and read_scalar_at allow transmuting values without unsafe blocks Date: 2020-04-11 ID: RUSTSEC-2020-0009 URL: https://rustsec.org/advisories/RUSTSEC-2020-0009 Solution: Upgrade to >=2.0.0

Crate: flatbuffers Version: 0.5.0 Title: Generated code can read and write out of bounds in safe code Date: 2021-10-31 ID: RUSTSEC-2021-0122 URL: https://rustsec.org/advisories/RUSTSEC-2021-0122 Solution: No safe upgrade is available!

Crate: hyper Version: 0.10.16 Title: Lenient hyper header parsing of Content-Length could allow request smuggling Date: 2021-07-07 ID: RUSTSEC-2021-0078 URL: https://rustsec.org/advisories/RUSTSEC-2021-0078 Solution: Upgrade to >=0.14.10 Dependency tree: hyper 0.10.16

Crate: hyper Version: 0.10.16 Title: Integer overflow in hyper's parsing of the Transfer-Encoding header leads to data loss Date: 2021-07-07 ID: RUSTSEC-2021-0079 URL: https://rustsec.org/advisories/RUSTSEC-2021-0079 Solution: Upgrade to >=0.14.10

Crate: hyper Version: 0.13.10 Title: Lenient hyper header parsing of Content-Length could allow request smuggling Date: 2021-07-07 ID: RUSTSEC-2021-0078 URL: https://rustsec.org/advisories/RUSTSEC-2021-0078 Solution: Upgrade to >=0.14.10 Dependency tree: hyper 0.13.10

Crate: hyper Version: 0.13.10 Title: Integer overflow in hyper's parsing of the Transfer-Encoding header leads to data loss Date: 2021-07-07 ID: RUSTSEC-2021-0079 URL: https://rustsec.org/advisories/RUSTSEC-2021-0079 Solution: Upgrade to >=0.14.10

Crate: nalgebra Version: 0.21.1 Title: VecStorage Deserialize Allows Violation of Length Invariant Date: 2021-06-06 ID: RUSTSEC-2021-0070 URL: https://rustsec.org/advisories/RUSTSEC-2021-0070 Solution: Upgrade to >=0.27.1 Dependency tree: nalgebra 0.21.1

Crate: nalgebra Version: 0.26.2 Title: VecStorage Deserialize Allows Violation of Length Invariant Date: 2021-06-06 ID: RUSTSEC-2021-0070 URL: https://rustsec.org/advisories/RUSTSEC-2021-0070 Solution: Upgrade to >=0.27.1 Dependency tree: nalgebra 0.26.2

Crate: time Version: 0.1.44 Title: Potential segfault in the time crate Date: 2020-11-18 ID: RUSTSEC-2020-0071 URL: https://rustsec.org/advisories/RUSTSEC-2020-0071 Solution: Upgrade to >=0.2.23 Dependency tree: time 0.1.44 ├── zip 0.5.13 │ ├── zip-extensions 0.4.0 │ │ └── engine-protocol 0.1.0 │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ └── ide-view 0.1.0 │ │ │ ├── enso-gui 0.1.0 │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ │ └── enso-debug-scene 0.1.0 │ │ │ │ └── enso-gui 0.1.0 │ │ │ └── debug-scene-interface 0.1.0 │ │ │ └── enso-debug-scene 0.1.0 │ │ ├── ide-view 0.1.0 │ │ ├── enso-gui 0.1.0 │ │ └── double-representation 0.1.0 │ │ └── enso-gui 0.1.0 │ ├── ensogl-text-embedded-fonts 0.1.0 │ │ ├── ensogl-text-msdf-sys 0.1.0 │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ ├── ide-view 0.1.0 │ │ │ ├── ensogl-text 0.1.0 │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ ├── ensogl-scrollbar 0.1.0 │ │ │ │ │ │ ├── ensogl-scroll-area 0.1.0 │ │ │ │ │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ │ │ │ │ └── enso-gui 0.1.0 │ │ │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ │ │ │ └── enso-gui 0.1.0 │ │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-glyph-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ ├── ensogl-component 0.1.0 │ │ │ │ └── ensogl 0.1.0 │ │ │ │ ├── welcome-screen 0.1.0 │ │ │ │ │ └── ide-view 0.1.0 │ │ │ │ ├── web-test 0.1.0 │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ ├── enso-gui 0.1.0 │ │ │ │ ├── enso-config 0.1.0 │ │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ │ └── enso-gui 0.1.0 │ │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ │ └── debug-scene-interface 0.1.0 │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ ├── ensogl-example-mouse-events 0.1.0 │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ ├── ensogl-example-glyph-system 0.1.0 │ │ │ ├── ensogl-example-animation 0.1.0 │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ ├── ensogl-core 0.1.0 │ │ │ │ ├── ensogl-toggle-button 0.1.0 │ │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-text 0.1.0 │ │ │ │ ├── ensogl-shadow 0.1.0 │ │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ ├── ensogl-scrollbar 0.1.0 │ │ │ │ ├── ensogl-scroll-area 0.1.0 │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ ├── ensogl-hardcoded-theme 0.1.0 │ │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ │ ├── ensogl-text 0.1.0 │ │ │ │ │ ├── ensogl-shadow 0.1.0 │ │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ ├── ensogl-scrollbar 0.1.0 │ │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ │ ├── enso-gui 0.1.0 │ │ │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ │ │ └── debug-scene-interface 0.1.0 │ │ │ │ ├── ensogl-gui-component 0.1.0 │ │ │ │ │ └── ensogl-scrollbar 0.1.0 │ │ │ │ ├── ensogl-file-browser 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ │ ├── ensogl-example-sprite-system-benchmark 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-sprite-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ │ ├── ensogl-example-shape-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ │ ├── ensogl-example-mouse-events 0.1.0 │ │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ │ ├── ensogl-example-glyph-system 0.1.0 │ │ │ │ ├── ensogl-example-easing-animator 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-drop-manager 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-dom-symbols 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-complex-shape-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-animation 0.1.0 │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ └── ensogl 0.1.0 │ │ │ ├── enso-gui 0.1.0 │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ └── debug-scene-interface 0.1.0 │ │ ├── ensogl-text 0.1.0 │ │ └── ensogl-core 0.1.0 │ └── engine-protocol 0.1.0 ├── hyper 0.10.16 └── chrono 0.4.19 └── engine-protocol 0.1.0

Crate: tokio Version: 0.2.25 Title: Data race when sending and receiving after closing a oneshot channel Date: 2021-11-16 ID: RUSTSEC-2021-0124 URL: https://rustsec.org/advisories/RUSTSEC-2021-0124 Solution: Upgrade to >=1.8.4, <1.9.0 OR >=1.13.1 Dependency tree: tokio 0.2.25 ├── tokio-util 0.3.1 │ └── h2 0.2.7 │ └── hyper 0.13.10 ├── tokio-tls 0.3.1 ├── reqwest 0.10.8 │ ├── parser 0.1.0 │ │ ├── span-tree 0.1.0 │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ └── ide-view 0.1.0 │ │ │ │ ├── enso-gui 0.1.0 │ │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ │ │ └── enso-debug-scene 0.1.0 │ │ │ │ │ └── enso-gui 0.1.0 │ │ │ │ └── debug-scene-interface 0.1.0 │ │ │ │ └── enso-debug-scene 0.1.0 │ │ │ ├── ide-view 0.1.0 │ │ │ ├── enso-span-tree-example 0.1.0 │ │ │ ├── enso-gui 0.1.0 │ │ │ └── debug-scene-interface 0.1.0 │ │ ├── ide-view 0.1.0 │ │ ├── enso-gui 0.1.0 │ │ ├── double-representation 0.1.0 │ │ │ └── enso-gui 0.1.0 │ │ └── debug-scene-interface 0.1.0 │ ├── enso-build-utilities 0.1.0 │ │ ├── parser 0.1.0 │ │ ├── ensogl-text-msdf-sys 0.1.0 │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ ├── ide-view 0.1.0 │ │ │ ├── ensogl-text 0.1.0 │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ ├── ensogl-scrollbar 0.1.0 │ │ │ │ │ │ ├── ensogl-scroll-area 0.1.0 │ │ │ │ │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ │ │ │ │ └── enso-gui 0.1.0 │ │ │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ │ │ │ └── enso-gui 0.1.0 │ │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-glyph-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ ├── ensogl-component 0.1.0 │ │ │ │ └── ensogl 0.1.0 │ │ │ │ ├── welcome-screen 0.1.0 │ │ │ │ │ └── ide-view 0.1.0 │ │ │ │ ├── web-test 0.1.0 │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ ├── enso-gui 0.1.0 │ │ │ │ ├── enso-config 0.1.0 │ │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ │ └── enso-gui 0.1.0 │ │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ │ └── debug-scene-interface 0.1.0 │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ ├── ensogl-example-mouse-events 0.1.0 │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ ├── ensogl-example-glyph-system 0.1.0 │ │ │ ├── ensogl-example-animation 0.1.0 │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ ├── ensogl-core 0.1.0 │ │ │ │ ├── ensogl-toggle-button 0.1.0 │ │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-text 0.1.0 │ │ │ │ ├── ensogl-shadow 0.1.0 │ │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ ├── ensogl-scrollbar 0.1.0 │ │ │ │ ├── ensogl-scroll-area 0.1.0 │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ ├── ensogl-hardcoded-theme 0.1.0 │ │ │ │ │ ├── ide-view-graph-editor 0.1.0 │ │ │ │ │ ├── ide-view 0.1.0 │ │ │ │ │ ├── ensogl-text 0.1.0 │ │ │ │ │ ├── ensogl-shadow 0.1.0 │ │ │ │ │ ├── ensogl-selector 0.1.0 │ │ │ │ │ ├── ensogl-scrollbar 0.1.0 │ │ │ │ │ ├── ensogl-list-view 0.1.0 │ │ │ │ │ ├── ensogl-label 0.1.0 │ │ │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ │ ├── enso-gui 0.1.0 │ │ │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ │ │ └── debug-scene-interface 0.1.0 │ │ │ │ ├── ensogl-gui-component 0.1.0 │ │ │ │ │ └── ensogl-scrollbar 0.1.0 │ │ │ │ ├── ensogl-file-browser 0.1.0 │ │ │ │ │ └── ensogl-component 0.1.0 │ │ │ │ ├── ensogl-example-text-area 0.1.0 │ │ │ │ ├── ensogl-example-sprite-system-benchmark 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-sprite-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-slider 0.1.0 │ │ │ │ ├── ensogl-example-shape-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-scroll-area 0.1.0 │ │ │ │ ├── ensogl-example-mouse-events 0.1.0 │ │ │ │ ├── ensogl-example-list-view 0.1.0 │ │ │ │ ├── ensogl-example-glyph-system 0.1.0 │ │ │ │ ├── ensogl-example-easing-animator 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-drop-manager 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-dom-symbols 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-complex-shape-system 0.1.0 │ │ │ │ │ └── ensogl-examples 0.1.0 │ │ │ │ ├── ensogl-example-animation 0.1.0 │ │ │ │ ├── ensogl-drop-down-menu 0.1.0 │ │ │ │ └── ensogl 0.1.0 │ │ │ ├── enso-gui 0.1.0 │ │ │ ├── debug-scene-visualization 0.1.0 │ │ │ └── debug-scene-interface 0.1.0 │ │ ├── ensogl-text-embedded-fonts 0.1.0 │ │ │ ├── ensogl-text-msdf-sys 0.1.0 │ │ │ ├── ensogl-text 0.1.0 │ │ │ └── ensogl-core 0.1.0 │ │ └── engine-protocol 0.1.0 │ │ ├── ide-view-graph-editor 0.1.0 │ │ ├── ide-view 0.1.0 │ │ ├── enso-gui 0.1.0 │ │ └── double-representation 0.1.0 │ └── engine-protocol 0.1.0 ├── parser 0.1.0 ├── hyper-tls 0.4.3 │ └── reqwest 0.10.8 ├── hyper 0.13.10 ├── h2 0.2.7 └── engine-protocol 0.1.0

sylwiabr commented 1 year ago

@wdanilo how important is this one?

wdanilo commented 1 year ago

Not too important now. Lets deliver product first.

farmaazon commented 6 months ago

To be checked what remains after #8481