Review for Source Package: ruby-rack-session

[Summary]

ruby-rack-session is a session implementation for Rack. 
It used to be part of ruby-rack but now it's split.
The package is in a good shape apart from a couple of issues listed in TODOs.

Portion of this soure code had gone under a security review during 
ruby-rack MIR 
(https://bugs.launchpad.net/ubuntu/+source/ruby-rack/+bug/1990575).
However this was 3 years ago and rack-session has been developed since.
In addition CVE-2025-46336 (https://ubuntu.com/security/CVE-2025-46336) has 
been reported.
Therefore a security review is due.

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-session
Specific binary packages built, but NOT to be promoted to main: <None>

Notes:
Required TODOs:
1. Current release 2.1.1 is not packaged. Please bump to 2.1.1.
It contains the fix for CVE-2025-46336.

Recommended TODOs:
2. There are some warnings during build. Please address them if possible.
Details in [Upstream red flags] section.

3. The package should get a team bug subscriber before being promoted

[Rationale, Duplication and Ownership]

This package is required in main to avoid future component-mismatches
(ruby-sinatra).

Server team is committed to own long term maintenance of this package.
The rationale given in the report seems valid and useful for Ubuntu

[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

Problems: None

[Security]
OK:
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not expose any external endpoint (port/socket/... or similar)
- 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)

Problems:
- History of CVEs: 
https://ubuntu.com/security/CVE-2025-46336
- does not parse data formats (files [images, video, audio,
  xml, json, asn.1], network packets, structures, ...) from
  an untrusted source.
- does not process arbitrary web content
- does not deal with cryptography (en-/decryption, certificates,
  signing, ...)

[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

Problems: None

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- symbols tracking not applicable for this kind of code.
- debian/watch is present and looks ok (if needed, e.g. non-native)
- Upstream update history is good
- promoting this does not seem to cause issues for MOTUs that so far
  maintained the package
- no massive Lintian warnings
- debian/rules is rather clean
- It is not on the lto-disabled list

Problems:
- Debian/Ubuntu update history used to be sporadic but latetly is good.
- the current release is not packaged

[Upstream red flags]
OK:
- no incautious use of malloc/sprintf (the language has no direct MM)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside
  tests)
- no use of user nobody
- no use of setuid / setgid
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit or libseed
- not part of the UI for extra checks
- no translation present, but none needed for this case (user visible)?

Problems:
- Warnings during build:
dpkg-gencontrol: warning: Depends field of package ruby-rack-session: 
substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: package ruby-rack-session: substitution variable 
${ruby:Versions} used, but is not defined
WARNING:  open-ended dependency on base64 (>= 0.1.0) is not recommended
  if base64 is semantically versioned, use:
    add_runtime_dependency "base64", "~> 0.1", ">= 0.1.0"
WARNING:  open-ended dependency on rack (>= 3.0.0) is not recommended
  if rack is semantically versioned, use:
    add_runtime_dependency "rack", "~> 3.0", ">= 3.0.0"
WARNING:  open-ended dependency on bundler (>= 0, development) is not 
recommended
  use a bounded requirement, such as "~> x.y"
WARNING:  open-ended dependency on minitest-global_expectations (>= 0, 
development) is not recommended
  use a bounded requirement, such as "~> x.y"
WARNING:  open-ended dependency on minitest-sprint (>= 0, development) is not 
recommended
  use a bounded requirement, such as "~> x.y"
WARNING:  open-ended dependency on rake (>= 0, development) is not recommended
  use a bounded requirement, such as "~> x.y"
WARNING:  See https://guides.rubygems.org/specification-reference/ for help


** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2025-46336

** Changed in: ruby-rack-session (Ubuntu)
     Assignee: Ioanna Alifieraki (joalif) => (unassigned)

** Changed in: ruby-rack-session (Ubuntu)
     Assignee: (unassigned) => Ubuntu Security Team (ubuntu-security)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2106774

Title:
  [MIR] ruby-rack-session

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ruby-rack-session/+bug/2106774/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to