[MIR] Promote ruby-rack to main as a pcs indirect dependency
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ruby-rack (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Availability]
The package ruby-rack is already in Ubuntu universe.
The package ruby-rack build for the architectures it is designed to work on.
It currently builds and works for architectures: amd64 (arch:all)
Link to package [[https:/
[Rationale]
The package ruby-rack is required in Ubuntu main for thin and ruby-sinatra
promotions which are runtime dependencies of pcs (the main reason for this
promotion).
Ideally, we expect that ruby-rack (and pcs) will be promoted in the "L" development cycle. The idea is to promote only the ruby-rack binary.
[Security]
Required links:
https:/
3 CVEs were found, one from 2018 and two from 2020.
Searching in the OSS security mailing list archive I found:
https:/
https:/
https:/
https:/
Reports 14 CVEs, all of them medium or low. In Kinetic, some of them still need investigation and others fixes.
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
(filters, scanners, plugins, UI skins, ...).
[Quality assurance - function/usage]
The package works well right after install.
[Quality assurance - maintenance]
The package is maintained well in Debian/Ubuntu and has not too many
and long term critical bugs open
- Ubuntu https:/
- Debian https:/
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:
The package runs an autopkgtest, and is currently passing on
this list of architectures: amd64, arm64, armhf, ppc64el, s390x.
Link to test logs:
https:/
The package does have not failing autopkgtests right now. Only in i386, where some dependencies are not installable.
[Quality assurance - packaging]
debian/watch is present and works.
debian/control defines a correct Maintainer field.
Lintian overrides are not present. Here is the output of `lintian --pedantic` against Kinetic version:
W: ruby-rack source: newer-standards
P: ruby-rack source: maintainer-
This package does not rely on obsolete or about to be demoted packages.
The package will not be installed by default.
Packaging and build is easy, link to d/rules:
https:/
[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 Server.
Team is not yet, but will subscribe to the package before promotion.
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
test rebuild.
[Background information]
The Package description explains the package well.
Upstream Name is: rack.
Link to upstream project: https:/
Related branches
- Christian Ehrhardt : Approve
- Athos Ribeiro: Approve
- Canonical Server Reporter: Pending requested
-
Diff: 61 lines (+17/-0)1 file modifiedsubscriptions.yaml (+17/-0)
description: | updated |
Changed in ruby-rack (Ubuntu): | |
assignee: | nobody → Lukas Märdian (slyon) |
tags: | added: sec-1497 |
Review for Package: src:ruby-rack
[Summary] framework for developing web applications,
Ruby rack is a popular middleware/
using Ruby (not quite as popular as "Rails", though). It is well maintained
and I have not found another ruby based web framework in main.
MIR team ACK under the constraint to resolve the below listed
required TODOs and as much as possible having a look at the
recommended TODOs.
This does need a security review, so I'll assign ubuntu-security
List of specific binary packages to be promoted to main: ruby-rack
Specific binary packages built, but NOT to be promoted to main: <None>
Notes: /bugs.debian. org/946983
This is a middleware, exposed to the public interwebs, parsing HTTP requests.
Also, it has a history of CVEs in addition to https:/
So I'm assigning ~ubuntu-security.
Required TODOs:
#0 current release NOT packaged, new major version 3.0.0 available as of 09/22
Recommended TODOs: manual- page [debian/rackup.1]
#1 The package should get a team bug subscriber (Server team) before being promoted
#2 Debian/Ubuntu update history is a bit slow, we should try to improve this moving forward (We have DDs as uploaders, so that should be fine)
#3 Lintian suggestion:
P: ruby-rack source: maintainer-
The maintainer keeps a manual page in ./debian. Please forward the manual
page upstream and ask them to include in their version control system, and
in their next release.
#4 three classes of warnings during build (see below for logs):
(1) should (xargs options) be fixed
(2) we probably can't do anything about it right now
(3) should be discussed with upstream
[Duplication]
There is no other package in main providing the same functionality.
https:/ /www.ruby- toolbox. com/categories/ web_app_ frameworks
Rack seems to be a popular and well maintained Ruby middleware, but here are
other web frameworks for Ruby, notably src:rails which is even more popular.
None of those is currently in main, though.
[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.
Problems: None
[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
- does not have unexpected Built-Using entries
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard
- Does not include vendored code
Problems: None
[Security]
OK:
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- 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:
- does parse data formats (network packets) fr...