[MIR] libmysofa

Bug #2019951 reported by Sebastien Bacher
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libmysofa (Ubuntu)
New
Undecided
Ubuntu Security Team

Bug Description

[Availability]
The package libmysofa is already in Ubuntu universe.
The package libmysofa build for the architectures it is designed to work on.
It currently builds and works for architetcures: amd64 arm64 armhf i386 ppc64el riscv64 s390x
Link to package https://launchpad.net/ubuntu/+source/libmysofa

[Rationale]
- The package libmysofa is required in Ubuntu main as a (optional) depends of pipewire
- the library parses spatial audio files which are used by 3D audio systems
- the libmysofa1 binary needs to be promoted

- There is no other/better way to solve this that is already in main or
  should go universe->main instead of this.

- The package libmysofa is required in Ubuntu main no later than August 17th
  due to mantic feature freeze

[Security]
- Had 15 security issues in the past, sorted out by their status on https://ubuntu.com/security/cves?package=libmysofa
Released
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16095
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16094
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16093
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16092
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16091
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10672
Needed
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3756
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-6860
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20063
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20016
Needs triage
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36152
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36151
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36150
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36149
          - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-36148

those are also listed in https://security-tracker.debian.org/tracker/source-package/libmysofa

- no `suid` or `sgid` binaries
- no executables in `/sbin` and `/usr/sbin`
- Package does not install services, timers or recurring jobs
- Packages does not open privileged ports (ports < 1024)
- Packages does not contain extensions to security-sensitive software

[Quality assurance - function/usage]
- The package works well right after install

[Quality assurance - maintenance]
- The package is maintained well in Debian/Ubuntu/Upstream and only has minor open bugs
  - Ubuntu https://bugs.launchpad.net/ubuntu/+source/libmysofa/+bug
  - Debian https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=libmysofa
  - Upstream https://github.com/hoene/libmysofa/issues
- The package does not deal with exotic hardware we cannot support

[Quality assurance - testing]
- The package runs a test suite on build time, if it fails
  it makes the build fail, link to build log https://launchpadlibrarian.net/666631466/buildlog_ubuntu-mantic-amd64.libmysofa_1.3.1~dfsg0-1ubuntu1_BUILDING.txt.gz

- The package runs an autopkgtest, and is currently passing on
  amd64 arm64 armhf ppc64el s390x
https://autopkgtest.ubuntu.com/packages/libm/libmysofa

- The tests fail on i386 due to installability issues of depends which isn't an issue

[Quality assurance - packaging]
- debian/watch is present and works

- debian/control defines a correct Maintainer

- This package has no lintian warnings

- Please link to a recent build log of the package
https://launchpadlibrarian.net/632293649/buildlog_ubuntu-lunar-amd64.libmysofa_1.3.1~dfsg0-1_BUILDING.txt.gz
- Please attach the full output you have got from `lintian --pedantic`

# lintian --pedantic libmysofa_1.3.1~dfsg0-1_amd64.changes
#

- Lintian overrides are not present

- This package does not rely on obsolete or about to be demoted packages.
- This package has no python2 or GTK2 dependencies

- The package will be installed by default, but does not ask debconf questions

- Packaging and build is easy, link to debian/rules https://salsa.debian.org/multimedia-team/libmysofa/-/blob/master/debian/rules

[UI standards]
- Application is not end-user facing (does not need translation)

[Dependencies]
- No further depends or recommends dependencies that are not yet in main

[Standards compliance]
- This package correctly follows FHS and Debian Policy

[Maintenance/Owner]
- Owning Team will be desktop-packages
- Team is already subscribed to the package

- This does not use static builds
- This does not use vendored code
- This package is not rust based
- The package has been built in the archive more recently than the last
- The package successfully built during the most recent test rebuild

[Background information]
The Package description explains the package well
Upstream Name is libmysofa
Link to upstream project https://github.com/hoene/libmysofa

Tags: sec-2250
description: updated
description: updated
Changed in libmysofa (Ubuntu):
assignee: nobody → Didier Roche-Tolomelli (didrocks)
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote (last edit ):

TODO: Review for Package: libmysofa

[Summary]
MIR team ACK
Due to the history of unresolved CVE, this does need a security review, so I'll assign ubuntu-security
List of specific binary packages to be promoted to main: libmysofa1

[Duplication]
There is no other package in main providing the same functionality.

[Dependencies]
OK:
- no other Dependencies to MIR due to this
- SRCPKG checked with `check-mir`
- all dependencies can be found in `seeded-in-ubuntu` (already in main)
- none of the (potentially auto-generated) dependencies (Depends
  and Recommends) that are present after build are not in main
- no -dev/-debug/-doc packages that need exclusion
- No dependencies in main that are only superficially tested requiring
  more tests now.

[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
- does not have unexpected Built-Using entries

OK:
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard

[Security]
OK:
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not open a port/socket
- does not process arbitrary web content
- does not use centralized online accounts
- does not integrate arbitrary javascript into the desktop
- does not deal with system authentication (eg, pam), etc)
- does not deal with security attestation (secure boot, tpm, signatures)
- does not deal with cryptography (en-/decryption, certificates, signing, ...)

Problems:
- history of CVEs does look concerning, especially the non triaged ones.
- does not parse data formats (files audio) from an untrusted source.
For both those reasons,

[Common blockers]
OK:
- does not FTBFS currently
- does have a test suite that runs at build time
- test suite fails will fail the build upon error.
- does have a non-trivial test suite that runs as autopkgtest
- This does not need special HW for build or test
- no new python2 dependency

[Packaging red flags]
OK:
- Ubuntu does carry a delta, but it is reasonable and maintenance under control
- symbols tracking is in place
- debian/watch is present and looks ok
- Upstream update history is good
- Debian/Ubuntu update history is good
- the current release is packaged
- promoting this does not seem to cause issues for MOTUs that so far
- no massive Lintian warnings
- debian/rules is rather clean
- It is not on the lto-disabled list

[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (as far as we can check it)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside tests)
- no use of user nobody
- no use of setuid
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit, seed or libgoa-*
- not part of the UI for extra checks
- no translation present, but none needed for this case

Changed in libmysofa (Ubuntu):
assignee: Didier Roche-Tolomelli (didrocks) → Canonical Security Team (canonical-security)
Mark Esler (eslerm)
Changed in libmysofa (Ubuntu):
assignee: Canonical Security Team (canonical-security) → Ubuntu Security Team (ubuntu-security)
Mark Esler (eslerm)
tags: added: sec-2250
Revision history for this message
Mark Esler (eslerm) wrote :

@seb128, is libmysofa-utils required in main?

Revision history for this message
Sebastien Bacher (seb128) wrote :

@Mark, I don't think it is required no

Revision history for this message
George-Andrei Iosif (iosifache) wrote :

Because libmysofa is now stuck in the security backlog, and I am the reviewer, I wanted to let you know about recent events.

Meanwhile, I've sent two emails to the upstream: one soon after starting the review, containing a piece of exposed sensitive information, and another after finishing the study, containing recommendations to improve the security posture of the package. I have not received a response to any of these emails. Furthermore, there has been no activity in the repository since July.

Because I am not prepared to complete this review, I suggest deferring the decision until the following cycle. This will also give upstream more time to respond to our observation and, eventually, work on the recommended security best practices.

Revision history for this message
Sebastien Bacher (seb128) wrote :

@George-Andrei, thanks for the status update. It's too late in the mantic cycle to enable that feature now anyway so next cycle is fine for us

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.