Your submission was sent successfully! Close

CVE-2019-15213

Published: 19 August 2019

An issue was discovered in the Linux kernel before 5.2.3. There is a use-after-free caused by a malicious USB device in the drivers/media/usb/dvb-usb/dvb-usb-init.c driver.

Priority

Low

CVSS 3 base score: 4.6

Status

Package Release Status
linux-oem-5.6
Launchpad, Ubuntu, Debian
focal Ignored
(was needed now end-of-life)
groovy Does not exist

impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Does not exist

eoan Does not exist

linux-aws-5.8
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

groovy Does not exist

hirsute Does not exist

focal Ignored
(was needed now end-of-life)
impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-azure-5.8
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

groovy Does not exist

hirsute Does not exist

impish Does not exist

focal Ignored
(was needed now end-of-life)
upstream Deferred
(2022-01-28)
jammy Does not exist

linux-gcp-5.8
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Ignored
(was needed now end-of-life)
groovy Does not exist

hirsute Does not exist

impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-oracle-5.8
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Ignored
(was needed now end-of-life)
groovy Does not exist

hirsute Does not exist

impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-riscv-5.8
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Ignored
(was needed now end-of-life)
groovy Does not exist

hirsute Does not exist

impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-hwe-5.11
Launchpad, Ubuntu, Debian
upstream Deferred
(2022-01-28)
trusty Does not exist

xenial Does not exist

bionic Does not exist

hirsute Does not exist

impish Does not exist

focal Ignored
(was needed now end-of-life)
jammy Does not exist

linux-riscv-5.11
Launchpad, Ubuntu, Debian
upstream Deferred
(2022-01-28)
trusty Does not exist

xenial Does not exist

bionic Does not exist

hirsute Does not exist

impish Does not exist

focal Deferred
(2022-01-28)
jammy Does not exist

linux-oem-5.13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
hirsute Does not exist

impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-aws-5.11
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
hirsute Does not exist

upstream Deferred
(2022-01-28)
impish Does not exist

jammy Does not exist

linux-azure-5.11
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

hirsute Does not exist

impish Does not exist

focal Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

linux-oracle-5.11
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

hirsute Does not exist

impish Does not exist

focal Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

linux-raspi
Launchpad, Ubuntu, Debian
groovy Ignored
(reached end-of-life)
hirsute Ignored
(reached end-of-life)
focal Deferred
(2022-01-28)
impish Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Does not exist

eoan Does not exist

linux-riscv
Launchpad, Ubuntu, Debian
groovy Ignored
(reached end-of-life)
hirsute Ignored
(reached end-of-life)
impish Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Does not exist

eoan Does not exist

focal Ignored
(was needed now end-of-life)
linux-bluefield
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
hirsute Does not exist

upstream Deferred
(2022-01-28)
impish Does not exist

jammy Does not exist

linux-hwe
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Ignored
(was needed now end-of-life)
bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-hwe-edge
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Ignored
(was needed now end-of-life)
bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-lts-xenial
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Not vulnerable
(4.4.0-13.29~14.04.1)
xenial Does not exist

bionic Does not exist

disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-lts-trusty
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Not vulnerable
(3.13.0-24.46~precise1)
trusty Does not exist

xenial Does not exist

bionic Does not exist

disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-oem
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Ignored
(was needs-triage now end-of-life)
bionic Ignored
(was needed now end-of-life)
disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
focal Does not exist

groovy Does not exist

linux-aws-hwe
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Ignored
(was needed now end-of-life)
bionic Does not exist

disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-azure-edge
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-gcp-edge
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-gke-4.15
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-gke-5.0
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
bionic Ignored
(was needed now end-of-life)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-raspi2
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

bionic Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Not vulnerable
(4.2.0-1013.19)
disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
focal Ignored
(was needed now end-of-life)
groovy Does not exist

linux-snapdragon
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

bionic Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Not vulnerable
(4.4.0-1013.15)
disco Ignored
(reached end-of-life)
eoan Does not exist

focal Does not exist

groovy Does not exist

linux-oem-osp1
Launchpad, Ubuntu, Debian
impish Does not exist

bionic Ignored
(was needed now end-of-life)
hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
focal Does not exist

groovy Does not exist

linux-aws-5.0
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-azure-5.3
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-gcp-5.3
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-oracle-5.0
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
disco Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-raspi2-5.3
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
eoan Does not exist

focal Does not exist

groovy Does not exist

linux-gke-5.3
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
eoan Does not exist

focal Does not exist

groovy Does not exist

linux-oracle-5.3
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
eoan Does not exist

focal Does not exist

groovy Does not exist

linux-azure-4.15
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

bionic Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-aws-5.3
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Ignored
(was needed now end-of-life)
eoan Does not exist

focal Does not exist

groovy Does not exist

linux-gcp-4.15
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

bionic Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

eoan Does not exist

focal Does not exist

groovy Does not exist

linux-hwe-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Deferred
(2022-01-28)
focal Does not exist

groovy Does not exist

linux-raspi-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Deferred
(2022-01-28)
focal Does not exist

groovy Does not exist

linux-azure-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Deferred
(2022-01-28)
focal Does not exist

groovy Does not exist

linux-oracle-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Deferred
(2022-01-28)
focal Does not exist

groovy Does not exist

linux-gcp-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Deferred
(2022-01-28)
focal Does not exist

groovy Does not exist

linux-aws-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

hirsute Does not exist

jammy Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Deferred
(2022-01-28)
focal Does not exist

groovy Does not exist

linux-hwe-5.8
Launchpad, Ubuntu, Debian
impish Does not exist

focal Ignored
(was needed now end-of-life)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Does not exist

groovy Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-gke-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

focal Does not exist

groovy Does not exist

hirsute Does not exist

bionic Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

linux-gkeop-5.4
Launchpad, Ubuntu, Debian
impish Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

focal Does not exist

groovy Does not exist

hirsute Does not exist

bionic Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

linux-dell300x
Launchpad, Ubuntu, Debian
impish Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Deferred
(2022-01-28)
focal Does not exist

groovy Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-oem-5.10
Launchpad, Ubuntu, Debian
impish Does not exist

upstream Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
groovy Does not exist

hirsute Does not exist

jammy Does not exist

linux-gkeop
Launchpad, Ubuntu, Debian
impish Does not exist

precise Does not exist

trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
groovy Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-gke
Launchpad, Ubuntu, Debian
impish Does not exist

jammy Needed

precise Does not exist

trusty Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
groovy Does not exist

hirsute Does not exist

upstream Deferred
(2022-01-28)
xenial Ignored
(reached end of standard support)
linux-ibm
Launchpad, Ubuntu, Debian
impish Does not exist

trusty Does not exist

xenial Does not exist

bionic Does not exist

hirsute Does not exist

focal Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Needed

linux
Launchpad, Ubuntu, Debian
hirsute Ignored
(reached end-of-life)
focal Deferred
(2022-01-28)
impish Deferred
(2022-01-28)
jammy Deferred
(2022-01-28)
upstream Needed

precise Not vulnerable
(3.0.0-12.20)
trusty Not vulnerable
(3.11.0-12.19)
xenial Not vulnerable
(4.4.0-2.16)
bionic Deferred
(2022-01-28)
disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
groovy Ignored
(reached end-of-life)
linux-gcp-5.11
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
hirsute Does not exist

impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-intel-5.13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

hirsute Does not exist

impish Does not exist

focal Ignored
(was needed now end-of-life)
upstream Deferred
(2022-01-28)
jammy Does not exist

linux-oem-5.14
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

hirsute Does not exist

impish Does not exist

focal Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Does not exist

linux-azure-5.13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred

impish Does not exist

upstream Needed

jammy Does not exist

linux-aws
Launchpad, Ubuntu, Debian
hirsute Ignored
(reached end-of-life)
bionic Deferred
(2022-01-28)
impish Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Needed

precise Does not exist

trusty Not vulnerable
(4.4.0-1002.2)
xenial Not vulnerable
(4.4.0-1001.10)
disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
focal Deferred
(2022-01-28)
groovy Ignored
(reached end-of-life)
linux-azure
Launchpad, Ubuntu, Debian
hirsute Ignored
(reached end-of-life)
impish Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
xenial Ignored
(was needed now end-of-life)
jammy Deferred
(2022-01-28)
precise Does not exist

trusty Ignored
(was needed ESM criteria)
bionic Ignored
(was needed now end-of-life)
disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
focal Deferred
(2022-01-28)
groovy Ignored
(reached end-of-life)
linux-gcp
Launchpad, Ubuntu, Debian
hirsute Ignored
(reached end-of-life)
focal Deferred
(2022-01-28)
impish Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
xenial Ignored
(was needed now end-of-life)
jammy Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

bionic Ignored
(was needed now end-of-life)
disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
groovy Ignored
(reached end-of-life)
linux-kvm
Launchpad, Ubuntu, Debian
hirsute Ignored
(reached end-of-life)
bionic Deferred
(2022-01-28)
focal Deferred
(2022-01-28)
impish Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
jammy Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

xenial Not vulnerable
(4.4.0-1004.9)
disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
groovy Ignored
(reached end-of-life)
linux-oracle
Launchpad, Ubuntu, Debian
hirsute Ignored
(reached end-of-life)
bionic Deferred
(2022-01-28)
focal Deferred
(2022-01-28)
impish Deferred
(2022-01-28)
upstream Deferred
(2022-01-28)
xenial Ignored
(was needed now end-of-life)
jammy Deferred
(2022-01-28)
precise Does not exist

trusty Does not exist

disco Ignored
(reached end-of-life)
eoan Ignored
(reached end-of-life)
groovy Ignored
(reached end-of-life)
linux-hwe-5.13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-aws-5.13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred
(2022-01-28)
impish Does not exist

upstream Deferred
(2022-01-28)
jammy Does not exist

linux-fips
Launchpad, Ubuntu, Debian
xenial Not vulnerable
(4.4.0-1073.79)
trusty Does not exist

bionic Does not exist

focal Does not exist

hirsute Does not exist

impish Does not exist

upstream Needed

jammy Does not exist

linux-oracle-5.13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred

impish Does not exist

upstream Needed

jammy Does not exist

linux-gcp-5.13
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred

impish Does not exist

upstream Needed

jammy Does not exist

linux-ibm-5.4
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Deferred

focal Does not exist

impish Does not exist

upstream Needed

jammy Does not exist

linux-azure-fde
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Deferred

impish Does not exist

upstream Needed

jammy Does not exist

linux-lowlatency
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Does not exist

impish Does not exist

jammy Deferred

upstream Needs triage

linux-oem-5.17
Launchpad, Ubuntu, Debian
trusty Does not exist

xenial Does not exist

bionic Does not exist

focal Does not exist

impish Does not exist

jammy Deferred

upstream Needs triage

Notes

AuthorNote
tyhicks
Setting priority to low since this issue requires a malicious USB
device to be inserted into the system
Ben Hutchings noticed that commit 6cf97230cd5f ("media: dvb: usb: fix
use after free in dvb_usb_device_exit"), which is mentioned in the CVE
references for this issue, likely doesn't fix the problem. See the lore
reference above for details. I think Ben is correct and have adjusted our
break-fix metadata to use the break commit that he pointed out.
sbeattie
unfixed upstream as of 2022-01-27

References

Bugs