Review for Package: ruby-json [Summary] 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-json Specific binary packages built, but NOT to be promoted to main: Note: This was already in main in Trusty and before. So I expect no major showtoppers now since it was not unmaintained since then. Required TODOs: - Update to 2.6.2 as the package wasn't updated in a while [Duplication] OK: There is no other package in main providing the same functionality. There seems to be enough developer debate which json lib to pick for something like https://github.com/intridea/multi_json to exist. But even they state that the one we review here is "The default JSON gem" and that it is the one shipping with later ruby versions. So I guess we are ok to promote this one over alternatives. [Dependencies] OK: - no other Dependencies to MIR due to this - 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: - history of CVEs does not look concerning - 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: - does not parse data formats (files [images, video, audio, xml, json, asn.1], network packets, structures, ...) from an untrusted source. - While not concerning there have been CVEs (just what you expect with parsers of any content). Of them CVE-2013-0269 was fixed long agoi, but CVE-2020-10663 isn't mentioned anywhere - I checked the fix for ruby 2.5 and that change is present, so it isn't an open case. But still things can happen, so it seems worth to do a security evaluation as well. [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. - no special HW needed for testing - no new python2 dependency Problems: - does not have a non-trivial test suite that runs as autopkgtest While it would be nice, for the purpose of this SW I do not consider this critical [Packaging red flags] OK: - Ubuntu does not carry a delta - symbols tracking not applicable for this kind of code. - d/watch is present and looks ok - Upstream update history is good - promoting this does not seem to cause issues for MOTUs that so far maintained the package. (Maintenance is primarily by the Debian ruby team, which we have a few members of) - no massive Lintian warnings - d/rules is rather clean - It is not on the lto-disabled list Problems: - Debian/Ubuntu update history is sporadic - the current release is not packaged => Please update this to 2.6.2 which is out for a while by now (2.6 and 2.6.1 Oct 2021) (2.6.2 May 2022) [Upstream red flags] OK: - no Errors/warnings during the build - no incautious use of malloc/sprintf (just a few in the C extensions which look ok to me) - 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 (user visible)? Problems: None