[Bug 1971580] [NEW] md4 hash does not work for Python in Jammy

vmex 1971580 at bugs.launchpad.net
Wed May 4 13:25:46 UTC 2022


Public bug reported:

I found out that md4 algorithm does not work while being reported as
available.

Test Python script:
```
import hashlib
hashlib.algorithms_available
assert 'md4' in hashlib.algorithms_available
hashlib.new('md4', b"text")
```
This script should produce report like this:
```
$ python3
Python 3.8.10 (default, Nov 26 2021, 20:14:08) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> hashlib.algorithms_available
{'blake2s', 'sha3_224', 'sha512_224', 'sha224', 'md4', 'sha3_256', 'sha512', 'sha3_512', 'blake2b', 'shake_128', 'whirlpool', 'sha3_384', 'sha256', 'sha1', 'md5-sha1', 'sha384', 'shake_256', 'sm3', 'ripemd160', 'sha512_256', 'md5'}
>>> assert 'md4' in hashlib.algorithms_available
>>> hashlib.new('md4', b"text")
<md4 HASH object @ 0x7fc374058f30>
>>> 
```

But for Jammy it crashes:

```
$ python3
Python 3.10.4 (main, Apr  2 2022, 09:04:19) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> hashlib.algorithms_available
{'sm3', 'sha512_224', 'md5-sha1', 'sha512_256', 'sha1', 'blake2s', 'sha3_512', 'sha3_224', 'sha384', 'ripemd160', 'whirlpool', 'md4', 'sha512', 'sha224', 'sha3_384', 'md5', 'shake_256', 'sha3_256', 'blake2b', 'sha256', 'shake_128'}
>>> assert 'md4' in hashlib.algorithms_available
>>> hashlib.new('md4', b"text")
Traceback (most recent call last):
  File "/usr/lib/python3.10/hashlib.py", line 160, in __hash_new
    return _hashlib.new(name, data, **kwargs)
ValueError: [digital envelope routines] unsupported

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.10/hashlib.py", line 166, in __hash_new
    return __get_builtin_constructor(name)(data)
  File "/usr/lib/python3.10/hashlib.py", line 123, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md4
```

Ubuntu release: Ubuntu 22.04 LTS
Python version:
python3.10:
  Installed: 3.10.4-3
  Candidate: 3.10.4-3

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: python3.10 3.10.4-3
ProcVersionSignature: Ubuntu 5.15.0-27.28-generic 5.15.30
Uname: Linux 5.15.0-27-generic x86_64
ApportVersion: 2.20.11-0ubuntu82
Architecture: amd64
CasperMD5CheckResult: pass
Date: Wed May  4 13:16:28 2022
InstallationDate: Installed on 2022-05-04 (0 days ago)
InstallationMedia: Ubuntu-Server 22.04 LTS "Jammy Jellyfish" - Release amd64 (20220421)
RebootRequiredPkgs: Error: path contained symlinks.
SourcePackage: python3.10
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: python3.10 (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug jammy uec-images

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

Title:
  md4 hash does not work for Python in Jammy

Status in python3.10 package in Ubuntu:
  New

Bug description:
  I found out that md4 algorithm does not work while being reported as
  available.

  Test Python script:
  ```
  import hashlib
  hashlib.algorithms_available
  assert 'md4' in hashlib.algorithms_available
  hashlib.new('md4', b"text")
  ```
  This script should produce report like this:
  ```
  $ python3
  Python 3.8.10 (default, Nov 26 2021, 20:14:08) 
  [GCC 9.3.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import hashlib
  >>> hashlib.algorithms_available
  {'blake2s', 'sha3_224', 'sha512_224', 'sha224', 'md4', 'sha3_256', 'sha512', 'sha3_512', 'blake2b', 'shake_128', 'whirlpool', 'sha3_384', 'sha256', 'sha1', 'md5-sha1', 'sha384', 'shake_256', 'sm3', 'ripemd160', 'sha512_256', 'md5'}
  >>> assert 'md4' in hashlib.algorithms_available
  >>> hashlib.new('md4', b"text")
  <md4 HASH object @ 0x7fc374058f30>
  >>> 
  ```

  But for Jammy it crashes:

  ```
  $ python3
  Python 3.10.4 (main, Apr  2 2022, 09:04:19) [GCC 11.2.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import hashlib
  >>> hashlib.algorithms_available
  {'sm3', 'sha512_224', 'md5-sha1', 'sha512_256', 'sha1', 'blake2s', 'sha3_512', 'sha3_224', 'sha384', 'ripemd160', 'whirlpool', 'md4', 'sha512', 'sha224', 'sha3_384', 'md5', 'shake_256', 'sha3_256', 'blake2b', 'sha256', 'shake_128'}
  >>> assert 'md4' in hashlib.algorithms_available
  >>> hashlib.new('md4', b"text")
  Traceback (most recent call last):
    File "/usr/lib/python3.10/hashlib.py", line 160, in __hash_new
      return _hashlib.new(name, data, **kwargs)
  ValueError: [digital envelope routines] unsupported

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python3.10/hashlib.py", line 166, in __hash_new
      return __get_builtin_constructor(name)(data)
    File "/usr/lib/python3.10/hashlib.py", line 123, in __get_builtin_constructor
      raise ValueError('unsupported hash type ' + name)
  ValueError: unsupported hash type md4
  ```

  Ubuntu release: Ubuntu 22.04 LTS
  Python version:
  python3.10:
    Installed: 3.10.4-3
    Candidate: 3.10.4-3

  ProblemType: Bug
  DistroRelease: Ubuntu 22.04
  Package: python3.10 3.10.4-3
  ProcVersionSignature: Ubuntu 5.15.0-27.28-generic 5.15.30
  Uname: Linux 5.15.0-27-generic x86_64
  ApportVersion: 2.20.11-0ubuntu82
  Architecture: amd64
  CasperMD5CheckResult: pass
  Date: Wed May  4 13:16:28 2022
  InstallationDate: Installed on 2022-05-04 (0 days ago)
  InstallationMedia: Ubuntu-Server 22.04 LTS "Jammy Jellyfish" - Release amd64 (20220421)
  RebootRequiredPkgs: Error: path contained symlinks.
  SourcePackage: python3.10
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python3.10/+bug/1971580/+subscriptions




More information about the foundations-bugs mailing list