Thanks for the report and for the reproducer. I've tested it on 23.04
and got the following output:

    BN_cmp(A, B): 0
    BN_cmp(A, B): 0

IIUC the issue is therefore fixed.

** Changed in: openssl (Ubuntu)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1734447

Title:
  BN_cmp regards negative and positive zero as different numbers

Status in openssl package in Ubuntu:
  Fix Released

Bug description:
  "BN_cmp() returns -1 if a < b, 0 if a == b and 1 if a > b." (
  https://wiki.openssl.org/index.php/Manual:BN_cmp(3) )

  The libcrypto.a shipped with Ubuntu makes a distinction between a
  negative 0 ("-0") and a positive zero ("0"). This means that
  BN_cmp(-0, 0) returns -1 and BN_cmp(0, -0) returns 1. The latest
  versions of OpenSSL (1.0.2m and 1.1.0g) both return 0 for both
  comparisons, which is what you would expect.

  lsb_release -rd:

  Description:  Ubuntu 16.04.3 LTS
  Release:      16.04

  Tested on both the 32 bit and 64 bit versions of this Ubuntu release.

  Attached is a proof of concept.

  The anomaly may also be caused by BN_dec2bn rather than BN_cmp.

  The bug is unlikely to have direct security consequences, but may
  cause unexpected behaviour in other applications that depend on this
  widespread library.

  Found with https://github.com/guidovranken/bignum-fuzzer

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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to