Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-112394

rpm: ignore signatures made by disabled algorithms

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • rhel-10.2
    • rhel-10.1
    • rpm
    • rpm-4.19.1.1-23.el10
    • No
    • Moderate
    • rhel-swm
    • 23
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • Yes
    • None
    • Hide

      Signature verification should pass if (and only if):

      • at least one good signature is present, and
      • no bad signature is present

      A good signature is one that:

      • Verifies against the package
      • Uses an algorithm that's enabled in the crypto-policies
      • Has a public key (a.k.a. certificate) imported in the rpm keyring (rpmdb by default)

      Note: The above only applies to signature-enforcing mode, that is, when %_pkgverify_level is set to signature or all. The default setting on RHEL is digest.

      Signatures using algorithms disabled in crypto-policies do not count as either good or bad, they are simply ignored when determining the overall verification result. They are still shown as NOTTRUSTED in the rpmkeys output, though.

      More details: https://docs.google.com/document/d/1XMLDgDi6jMPaJNH_vrU5V-BrYbQNs0qmNOnwQBjQE6w/edit?tab=t.0

      Show
      Signature verification should pass if (and only if): at least one good signature is present, and no bad signature is present A good signature is one that: Verifies against the package Uses an algorithm that's enabled in the crypto-policies Has a public key (a.k.a. certificate) imported in the rpm keyring (rpmdb by default) Note: The above only applies to signature-enforcing mode, that is, when %_pkgverify_level is set to signature or all . The default setting on RHEL is digest . Signatures using algorithms disabled in crypto-policies do not count as either good or bad, they are simply ignored when determining the overall verification result. They are still shown as NOTTRUSTED in the rpmkeys output, though. More details: https://docs.google.com/document/d/1XMLDgDi6jMPaJNH_vrU5V-BrYbQNs0qmNOnwQBjQE6w/edit?tab=t.0
    • Pass
    • New Test Coverage
    • Bug Fix
    • Hide
      RPM no longer fails to install or verify a package with multiple signatures when the package has some `NOTTRUSTED` signatures::
      Before this update, when you installed or verified a package with multiple signatures, RPM did not correctly determine the overall verification result when the `rpmkeys(8)` utility reported some of the package signatures as `NOTTRUSTED`. A signature can become `NOTTRUSTED` if, for example, its certificate is expired or revoked, or if its algorithm is disabled by system-wide cryptographic policies. As a consequence, RPM failed to install or verify the package even if the package had at least one valid and trusted signature.
      +
      This update fixes the verification logic in RPM to correctly handle packages with `NOTTRUSTED` signatures. This update also improves error reporting around this functionality.
      +
      As a result, RPM ignores `NOTTRUSTED` package signatures and successfully installs or verifies a package with multiple signatures if the package has at least one valid signature and no invalid signatures. Error messages are also clearer and more accurate when verification actually fails.
      Show
      RPM no longer fails to install or verify a package with multiple signatures when the package has some `NOTTRUSTED` signatures:: Before this update, when you installed or verified a package with multiple signatures, RPM did not correctly determine the overall verification result when the `rpmkeys(8)` utility reported some of the package signatures as `NOTTRUSTED`. A signature can become `NOTTRUSTED` if, for example, its certificate is expired or revoked, or if its algorithm is disabled by system-wide cryptographic policies. As a consequence, RPM failed to install or verify the package even if the package had at least one valid and trusted signature. + This update fixes the verification logic in RPM to correctly handle packages with `NOTTRUSTED` signatures. This update also improves error reporting around this functionality. + As a result, RPM ignores `NOTTRUSTED` package signatures and successfully installs or verifies a package with multiple signatures if the package has at least one valid signature and no invalid signatures. Error messages are also clearer and more accurate when verification actually fails.
    • Done
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      During package installation, signatures made with algorithms that are disabled or unknown in crypto-policies should be ignored (see the epic for more complete picture).

      Further cases are described in https://docs.google.com/document/d/1XMLDgDi6jMPaJNH_vrU5V-BrYbQNs0qmNOnwQBjQE6w/edit?tab=t.0#heading=h.z4wqfmvf7up7 , but these seem to work well for now.

              mdomonko@redhat.com Michal Domonkos
              szidek@redhat.com Stanislav Zidek
              packaging-team-maint
              packaging-team-maint packaging-team-maint
              Martin Banas Martin Banas
              Mariya Pershina Mariya Pershina
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated: