Public bug reported:

MIR report for source package: upki
Target series: devel

[Availability]
- The source package upki is published in Ubuntu (universe).
- Current Launchpad builds pass on: amd64, amd64v3, arm64, armhf, ppc64el, 
riscv64, s390x.
- Source package: https://launchpad.net/ubuntu/+source/upki

[Rationale]
- The package src:upki is required in Ubuntu main for integrating it into most 
applications by default
- The package src:upki will generally be useful for a large part of our user 
base.
- No prior MIR bug was found for this source or identified predecessor names.
- The package src:upki is required in Ubuntu main no later than 26.10
- No genuine overlap with anything in main exists; the main candidates found 
(openssl, ssl-cert, libstrongswan, libpq5) are a cryptographic utility, a 
simple wrapper, a VPN library, and a database client, respectively, rather than 
dedicated PKI management systems or certificate authority tools.
  (The search identified four packages in main: `openssl` (a low-level 
cryptographic utility), `ssl-cert` (a simple debconf wrapper for generating 
self-signed certificates), `libstrongswan` (a VPN utility and crypto library), 
and `libpq5` (a PostgreSQL database client). None of these provide the 
high-level PKI management or Certificate Authority functionality implied by the 
search terms, whereas the universe candidates (e.g., `easy-rsa`, `gnomint`, 
`ruby-certificate-authority`) do fit that description.)
- The binary packages upki, libupki1, libupki-openssl1 need to be in main to 
achieve integration into crypto libraries by default

[Security]
- No package-associated CVEs were found in the queried trackers.
  (Sourcing: the Ubuntu CVE tracker plus the cross-vendor cvelistV5/NVD corpus, 
which also covers Debian-relevant CVE identifiers - no separate Debian or NVD 
check is needed. The OSS-security mailing list (pre-CVE-assignment chatter) is 
not covered by these adapters; flag it yourself if you are aware of such a 
discussion.)
- No AppArmor profiles, desktop files, translations, or plugin candidates were 
found.
- Mitigations are not proportional to the exposure because the package ships a 
systemd service that processes untrusted X.509 data but lacks an AppArmor 
profile to confine its filesystem and network access.
  (The binary-package-inspection confirms the presence of systemd units 
(upki-fetch.service, upki-fetch.timer) and the absence of AppArmor profiles 
(apparmor_profiles: []). The source analysis indicates the package parses X.509 
certificates (untrusted input) and handles cryptographic operations. For a 
service handling such data and likely network activity, the lack of an AppArmor 
profile represents a security hardening gap.)
- The pattern search found deprecated-algorithm indicators in the vendored 
x509-parser crate, specifically references to SHA1 in 
./rust-vendor/x509-parser/src/verify.rs and 
./rust-vendor/x509-parser/src/signature_algorithm.rs; the reporter should 
confirm whether these algorithms are actually used before flagging Security 
review.

  As this is a general purpose x509 parser crate and may need to parse such 
certificates
  if system policy allows it to deem whether they are revoked this is likely 
necessary.

  It cannot mark certificates as trusted, only as revoked, so this is not a 
security
  concern.
  (The evidence field `packaging-source.crypto_pattern_hits` contains a 
non-empty list of matches, primarily in `rust-vendor/x509-parser`, referencing 
SHA1 and legacy RSA constants.)

- Installed privileged/service surface: systemd units:
upki_1.0.0~beta.3-0ubuntu1_amd64/usr/lib/systemd/system/upki-
fetch.timer,
upki_1.0.0~beta.3-0ubuntu1_amd64/usr/lib/systemd/system/upki-
fetch.service.

   These services are required for fetching the CRLite data from the
Ubuntu servers over HTTPS. OpenSSL is used for the TLS layer.

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

[Quality assurance - maintenance]
- No critical Ubuntu or release-critical Debian bugs were found.
- The package does not depend on exotic hardware we cannot support.
- The package is not in Debian, one low-priority Launchpad bug, and a release 
cadence averaging 28.5 days across three recent versions.
  (Evidence shows 0 open bugs in Debian BTS, 1 open bug in Launchpad (ID 
2164286, Undecided importance, created 2026-08-18), and a release cadence of 3 
versions over 57 days with an average interval of 28.5 days. The upstream 
tracker shows 0 open issues.)

[Quality assurance - testing]
- Autopkgtests will be fixed and unit tests enabled, JIRA tasks are created
- Upstream tests are not run during build, autopkgtests include smoke test for 
upki-fetch against sample data
- The package does have failing autopkgtests tests right now, they
    will be fixed.
- We are working on running the upstream tests during the build
- Build tests are explicitly disabled in debian/rules via an override that 
comments out the cargo test invocation, and the existing autopkgtest is 
currently failing on all tested architectures.

  They will be fixed
  (The packaging-source.debian_rules_overrides list includes 'dh_auto_test', 
and the full debian_rules text shows an override where the cargo test command 
is commented out, indicating build tests are not run. The autopkgtest-db 
evidence shows that the 'upki-fetch' autopkgtest is failing on all 
architectures (amd64, arm64, etc.), and the debian_tests_control indicates the 
test requires root and python3, suggesting it is a functional test rather than 
a trivial check.)

[Quality assurance - packaging]
- A debian/watch upstream-release mechanism is present.
- debian/control defines a correct Maintainer field
- Lintian reported 0 error(s) and 0 warning(s).
- No Python 2, GTK 2, or other catalogued obsolete runtime dependency was found.
- Source format: 3.0 (quilt); debconf templates: 0; debian/rules overrides: 
dh_auto_configure, dh_auto_install, dh_auto_test.
- Lintian overrides are absent or already explained by a comment.
- Packaging is complex, but unavoidable since we have multiple
  crates in one package - we don't want to have 4x basically
  the same source tree
  (The packaging uses a patched `dh-cargo` wrapper and custom scripts in 
`debian/bin` to manage a Rust workspace with vendored dependencies and an 
embedded `aws-lc` library, which standard tooling does not support. It includes 
manual overrides for configuration, installation (using `cargo cinstall`), and 
copyright generation. Tests are disabled in `override_dh_auto_test` due to 
issues with the `dh-cargo-built-using` logic for the embedded library.)

[UI standards]
- This package is not end-user facing (server, CLI-only tool, daemon, or 
library), so desktop-file and translation requirements do not apply.
  (The package produces binaries in the 'utils', 'libs', and 'libdevel' 
sections, with no GUI toolkit dependencies. The 'upki' binary depends on 
systemd and includes systemd service and timer units, indicating it functions 
as a system daemon or CLI utility rather than a user-facing graphical 
application.)
- Not an end-user application (server, CLI-only tool, or library) - no Desktop 
file is needed.
- Application is not end-user facing (does not need translation).

[Dependencies]
- No in-scope runtime dependencies outside main require a separate MIR.

[Standards compliance]
- This package correctly follows FHS and Debian Policy.
- No license expiry, time-bound terms, entity/contract coupling, withdrawable 
branches, patents, or other encumbrances were identified; the license is 
expected to remain compatible with Ubuntu main throughout the full support 
lifetime.

[Maintenance/Owner]
- The team foundations-bugs is subscribed to the package
- Shipped vendored directories: ./rust-vendor/ring/third_party.
- This Rust package tracks its vendored dependencies via a committed Cargo.lock 
file.
- Launchpad records contain 7 build(s) from the last three months. Builds: 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515335,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515336,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515337,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515338,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515339,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515340,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515341.
- This change affects other Ubuntu teams and the required coordination is still 
in progress.
- The team foundations-bugs is aware of the implications of a static build and 
of
    vendored code, and commits to test no-change-rebuilds, to refresh and
    track the vendored code, to keep debian/copyright covering it, and to
    provide updates and backports to the security team for any affected
    vendored code for the lifetime of the release (including ESM). New
    vendored components will be agreed with the security team.
- Built binaries declare no Built-Using or Static-Built-Using entries.

[Background information]
- The upstream project name is upki, which is the same as the source package 
name.
  (The upstream-tracker lists the project name as 'upki' and provides the URL 
'https://github.com/rustls/upki'. The debian control Source field is 'upki', 
confirming the match.)
- Upstream project: https://github.com/rustls/upki
- The package description explains the package well, additionally this is to say
    it will be part of the default install

- This report is generated with the help of `auto-mir`

** Affects: upki (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  MIR report for source package: upki
  Target series: devel
  
  [Availability]
  - The source package upki is published in Ubuntu (universe).
  - Current Launchpad builds pass on: amd64, amd64v3, arm64, armhf, ppc64el, 
riscv64, s390x.
  - Source package: https://launchpad.net/ubuntu/+source/upki
  
  [Rationale]
  - The package src:upki is required in Ubuntu main for integrating it into 
most applications by default
  - The package src:upki will generally be useful for a large part of our user 
base.
  - No prior MIR bug was found for this source or identified predecessor names.
  - The package src:upki is required in Ubuntu main no later than 26.10
  - No genuine overlap with anything in main exists; the main candidates found 
(openssl, ssl-cert, libstrongswan, libpq5) are a cryptographic utility, a 
simple wrapper, a VPN library, and a database client, respectively, rather than 
dedicated PKI management systems or certificate authority tools.
-   (The search identified four packages in main: `openssl` (a low-level 
cryptographic utility), `ssl-cert` (a simple debconf wrapper for generating 
self-signed certificates), `libstrongswan` (a VPN utility and crypto library), 
and `libpq5` (a PostgreSQL database client). None of these provide the 
high-level PKI management or Certificate Authority functionality implied by the 
search terms, whereas the universe candidates (e.g., `easy-rsa`, `gnomint`, 
`ruby-certificate-authority`) do fit that description.)
+   (The search identified four packages in main: `openssl` (a low-level 
cryptographic utility), `ssl-cert` (a simple debconf wrapper for generating 
self-signed certificates), `libstrongswan` (a VPN utility and crypto library), 
and `libpq5` (a PostgreSQL database client). None of these provide the 
high-level PKI management or Certificate Authority functionality implied by the 
search terms, whereas the universe candidates (e.g., `easy-rsa`, `gnomint`, 
`ruby-certificate-authority`) do fit that description.)
  - The binary packages upki, libupki1, libupki-openssl1 need to be in main to 
achieve integration into crypto libraries by default
  
  [Security]
  - No package-associated CVEs were found in the queried trackers.
-   (Sourcing: the Ubuntu CVE tracker plus the cross-vendor cvelistV5/NVD 
corpus, which also covers Debian-relevant CVE identifiers - no separate Debian 
or NVD check is needed. The OSS-security mailing list (pre-CVE-assignment 
chatter) is not covered by these adapters; flag it yourself if you are aware of 
such a discussion.)
+   (Sourcing: the Ubuntu CVE tracker plus the cross-vendor cvelistV5/NVD 
corpus, which also covers Debian-relevant CVE identifiers - no separate Debian 
or NVD check is needed. The OSS-security mailing list (pre-CVE-assignment 
chatter) is not covered by these adapters; flag it yourself if you are aware of 
such a discussion.)
  - No AppArmor profiles, desktop files, translations, or plugin candidates 
were found.
  - Mitigations are not proportional to the exposure because the package ships 
a systemd service that processes untrusted X.509 data but lacks an AppArmor 
profile to confine its filesystem and network access.
-   (The binary-package-inspection confirms the presence of systemd units 
(upki-fetch.service, upki-fetch.timer) and the absence of AppArmor profiles 
(apparmor_profiles: []). The source analysis indicates the package parses X.509 
certificates (untrusted input) and handles cryptographic operations. For a 
service handling such data and likely network activity, the lack of an AppArmor 
profile represents a security hardening gap.)
+   (The binary-package-inspection confirms the presence of systemd units 
(upki-fetch.service, upki-fetch.timer) and the absence of AppArmor profiles 
(apparmor_profiles: []). The source analysis indicates the package parses X.509 
certificates (untrusted input) and handles cryptographic operations. For a 
service handling such data and likely network activity, the lack of an AppArmor 
profile represents a security hardening gap.)
  - The pattern search found deprecated-algorithm indicators in the vendored 
x509-parser crate, specifically references to SHA1 in 
./rust-vendor/x509-parser/src/verify.rs and 
./rust-vendor/x509-parser/src/signature_algorithm.rs; the reporter should 
confirm whether these algorithms are actually used before flagging Security 
review.
  
-   As this is a general purpose x509 parser crate and may need to parse such 
certificates
-   if system policy allows it to deem whether they are revoked this is likely 
necessary.
+   As this is a general purpose x509 parser crate and may need to parse such 
certificates
+   if system policy allows it to deem whether they are revoked this is likely 
necessary.
  
-   It cannot mark certificates as trusted, only as revoked, so this is not a 
security
-   concern.
-   (The evidence field `packaging-source.crypto_pattern_hits` contains a 
non-empty list of matches, primarily in `rust-vendor/x509-parser`, referencing 
SHA1 and legacy RSA constants.)
+   It cannot mark certificates as trusted, only as revoked, so this is not a 
security
+   concern.
+   (The evidence field `packaging-source.crypto_pattern_hits` contains a 
non-empty list of matches, primarily in `rust-vendor/x509-parser`, referencing 
SHA1 and legacy RSA constants.)
  
- Left to clarify:
- - Installed privileged/service surface: systemd units: 
upki_1.0.0~beta.3-0ubuntu1_amd64/usr/lib/systemd/system/upki-fetch.timer, 
upki_1.0.0~beta.3-0ubuntu1_amd64/usr/lib/systemd/system/upki-fetch.service.
-   (Explain the purpose and mitigations of each installed surface.)
+ - Installed privileged/service surface: systemd units:
+ upki_1.0.0~beta.3-0ubuntu1_amd64/usr/lib/systemd/system/upki-
+ fetch.timer,
+ upki_1.0.0~beta.3-0ubuntu1_amd64/usr/lib/systemd/system/upki-
+ fetch.service.
+ 
+    These services are required for fetching the CRLite data from the
+ Ubuntu servers over HTTPS. OpenSSL is used for the TLS layer.
  
  [Quality assurance - function/usage]
  - The package works well right after install
  
  [Quality assurance - maintenance]
  - No critical Ubuntu or release-critical Debian bugs were found.
  - The package does not depend on exotic hardware we cannot support.
  - The package is not in Debian, one low-priority Launchpad bug, and a release 
cadence averaging 28.5 days across three recent versions.
-   (Evidence shows 0 open bugs in Debian BTS, 1 open bug in Launchpad (ID 
2164286, Undecided importance, created 2026-08-18), and a release cadence of 3 
versions over 57 days with an average interval of 28.5 days. The upstream 
tracker shows 0 open issues.)
+   (Evidence shows 0 open bugs in Debian BTS, 1 open bug in Launchpad (ID 
2164286, Undecided importance, created 2026-08-18), and a release cadence of 3 
versions over 57 days with an average interval of 28.5 days. The upstream 
tracker shows 0 open issues.)
  
  [Quality assurance - testing]
  - Autopkgtests will be fixed and unit tests enabled, JIRA tasks are created
  - Upstream tests are not run during build, autopkgtests include smoke test 
for upki-fetch against sample data
  - The package does have failing autopkgtests tests right now, they
-     will be fixed.
+     will be fixed.
  - We are working on running the upstream tests during the build
  - Build tests are explicitly disabled in debian/rules via an override that 
comments out the cargo test invocation, and the existing autopkgtest is 
currently failing on all tested architectures.
  
-   They will be fixed
-   (The packaging-source.debian_rules_overrides list includes 'dh_auto_test', 
and the full debian_rules text shows an override where the cargo test command 
is commented out, indicating build tests are not run. The autopkgtest-db 
evidence shows that the 'upki-fetch' autopkgtest is failing on all 
architectures (amd64, arm64, etc.), and the debian_tests_control indicates the 
test requires root and python3, suggesting it is a functional test rather than 
a trivial check.)
+   They will be fixed
+   (The packaging-source.debian_rules_overrides list includes 'dh_auto_test', 
and the full debian_rules text shows an override where the cargo test command 
is commented out, indicating build tests are not run. The autopkgtest-db 
evidence shows that the 'upki-fetch' autopkgtest is failing on all 
architectures (amd64, arm64, etc.), and the debian_tests_control indicates the 
test requires root and python3, suggesting it is a functional test rather than 
a trivial check.)
  
- Left to clarify:
- - Build tests are currently skipped
- - Autopkgtests are present and pass on: none.
-   (Explain the failing architectures: amd64, amd64v3, arm64, armhf, ppc64el, 
s390x.)
  
  [Quality assurance - packaging]
  - A debian/watch upstream-release mechanism is present.
  - debian/control defines a correct Maintainer field
  - Lintian reported 0 error(s) and 0 warning(s).
  - No Python 2, GTK 2, or other catalogued obsolete runtime dependency was 
found.
  - Source format: 3.0 (quilt); debconf templates: 0; debian/rules overrides: 
dh_auto_configure, dh_auto_install, dh_auto_test.
  - Lintian overrides are absent or already explained by a comment.
  - Packaging is complex, but unavoidable since we have multiple
-   crates in one package - we don't want to have 4x basically
-   the same source tree
-   (The packaging uses a patched `dh-cargo` wrapper and custom scripts in 
`debian/bin` to manage a Rust workspace with vendored dependencies and an 
embedded `aws-lc` library, which standard tooling does not support. It includes 
manual overrides for configuration, installation (using `cargo cinstall`), and 
copyright generation. Tests are disabled in `override_dh_auto_test` due to 
issues with the `dh-cargo-built-using` logic for the embedded library.)
+   crates in one package - we don't want to have 4x basically
+   the same source tree
+   (The packaging uses a patched `dh-cargo` wrapper and custom scripts in 
`debian/bin` to manage a Rust workspace with vendored dependencies and an 
embedded `aws-lc` library, which standard tooling does not support. It includes 
manual overrides for configuration, installation (using `cargo cinstall`), and 
copyright generation. Tests are disabled in `override_dh_auto_test` due to 
issues with the `dh-cargo-built-using` logic for the embedded library.)
  
  [UI standards]
  - This package is not end-user facing (server, CLI-only tool, daemon, or 
library), so desktop-file and translation requirements do not apply.
-   (The package produces binaries in the 'utils', 'libs', and 'libdevel' 
sections, with no GUI toolkit dependencies. The 'upki' binary depends on 
systemd and includes systemd service and timer units, indicating it functions 
as a system daemon or CLI utility rather than a user-facing graphical 
application.)
+   (The package produces binaries in the 'utils', 'libs', and 'libdevel' 
sections, with no GUI toolkit dependencies. The 'upki' binary depends on 
systemd and includes systemd service and timer units, indicating it functions 
as a system daemon or CLI utility rather than a user-facing graphical 
application.)
  - Not an end-user application (server, CLI-only tool, or library) - no 
Desktop file is needed.
  - Application is not end-user facing (does not need translation).
  
  [Dependencies]
  - No in-scope runtime dependencies outside main require a separate MIR.
  
  [Standards compliance]
  - This package correctly follows FHS and Debian Policy.
  - No license expiry, time-bound terms, entity/contract coupling, withdrawable 
branches, patents, or other encumbrances were identified; the license is 
expected to remain compatible with Ubuntu main throughout the full support 
lifetime.
  
  [Maintenance/Owner]
- - subscribed now
+ - The team foundations-bugs is subscribed to the package
  - Shipped vendored directories: ./rust-vendor/ring/third_party.
  - This Rust package tracks its vendored dependencies via a committed 
Cargo.lock file.
  - Launchpad records contain 7 build(s) from the last three months. Builds: 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515335,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515336,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515337,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515338,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515339,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515340,
 
https://launchpad.net/ubuntu/+source/upki/1.0.0~beta.3-0ubuntu1/+build/33515341.
  - This change affects other Ubuntu teams and the required coordination is 
still in progress.
  - The team foundations-bugs is aware of the implications of a static build 
and of
-     vendored code, and commits to test no-change-rebuilds, to refresh and
-     track the vendored code, to keep debian/copyright covering it, and to
-     provide updates and backports to the security team for any affected
-     vendored code for the lifetime of the release (including ESM). New
-     vendored components will be agreed with the security team.
+     vendored code, and commits to test no-change-rebuilds, to refresh and
+     track the vendored code, to keep debian/copyright covering it, and to
+     provide updates and backports to the security team for any affected
+     vendored code for the lifetime of the release (including ESM). New
+     vendored components will be agreed with the security team.
  - Built binaries declare no Built-Using or Static-Built-Using entries.
- 
- Left to clarify:
- - No owning-team package bug subscription was found.
-   (A team must subscribe before promotion.)
  
  [Background information]
  - The upstream project name is upki, which is the same as the source package 
name.
-   (The upstream-tracker lists the project name as 'upki' and provides the URL 
'https://github.com/rustls/upki'. The debian control Source field is 'upki', 
confirming the match.)
+   (The upstream-tracker lists the project name as 'upki' and provides the URL 
'https://github.com/rustls/upki'. The debian control Source field is 'upki', 
confirming the match.)
  - Upstream project: https://github.com/rustls/upki
  - The package description explains the package well, additionally this is to 
say
-     it will be part of the default install
+     it will be part of the default install

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

Title:
  [MIR] upki

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/upki/+bug/2166514/+subscriptions


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

Reply via email to