This is an implementation of ASN.1 types and codecs in Python programming
language. It has been first written to support particular protocol (SNMP) but
then generalized to be suitable for a wide range of protocols based on ASN.1
specification.
Provides
Requires
License
BSD-2-Clause
Changelog
* Thu Jul 16 2026 Nico Krapp <nico.krapp@suse.com>
- Update to 0.6.4 (fixes CVE-2026-59884 (bsc#1271464),
CVE-2026-59885 (bsc#1271465), CVE-2026-59886 (bsc#1271466))
* CVE-2026-59885 (GHSA-8ppf-4f7h-5ppj): Fixed quadratic time complexity in
the OBJECT IDENTIFIER and RELATIVE-OID decoders. A small crafted substrate
encoding many arcs could consume excessive CPU. Arcs are now accumulated in
linear time; decoded values are unchanged
* CVE-2026-59884 (GHSA-m4p7-r5rc-7g4j): Limited BER long-form tag IDs to 20
octets (140 bits), matching the OID arc limit introduced in 0.6.2.
Unbounded tag IDs allowed a crafted substrate to consume excessive CPU and
memory; longer tag IDs are now rejected with PyAsn1Error. Also fixed Tag
and TagSet repr() failing on huge tag IDs due to the integer-to-string
conversion limit
* CVE-2026-59886 (GHSA-hm4w-wwcw-mr6r): Fixed excessive memory and CPU
consumption in Real.__float__() for values with large base-10 exponents.
Conversion no longer materializes huge intermediate integers; values too
large to represent as a Python float raise OverflowError promptly, and
prettyPrint() renders them as '<overflow>' as before. Also fixed base-10
mantissa normalization to use exact integer arithmetic; mantissas larger
than 2**53 could previously lose precision through float division
* Pinned PyPI publish GitHub Action to an immutable commit
* Wed Mar 18 2026 Daniel Garcia <daniel.garcia@suse.com>
- Update to 0.6.3 (bsc#1259803, CVE-2026-30922)
* Added nesting depth limit to ASN.1 decoder to prevent stack
overflow from deeply nested structures (CVE-2026-30922).
* Fixed OverflowError from oversized BER length field.
* Fixed DeprecationWarning stacklevel for deprecated attributes.
* Fixed asDateTime incorrect fractional seconds parsing.
* Mon Jan 19 2026 Nico Krapp <nico.krapp@suse.com>
- Update to 0.6.2 (fixes CVE-2026-23490, bsc#1256902)
* Fixed continuation octet limits in OID/RELATIVE-OID decoder (CVE-2026-23490).
* Added support for Python 3.14.
* Added SECURITY.md policy.
* Migrated to pyproject.toml packaging.
- fix broken changelog entries
* Mon Oct 07 2024 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 0.6.1
* Added support for Python 3.13 and updated GitHub Actions
* Removed Python 2 support and related code
* Improved error handling and consistency
* Runtime deprecation of `tagMap` and `typeMap` aliases
* Fixed duplicated and missing declarations
* Cleaned documentation and comments
* Removed bdist_wheel universal flag from setup.cfg
* Wed Apr 03 2024 Dirk Müller <dmueller@suse.com>
- update to 0.6.0:
* Added support for previously missing RELATIVE-OID construct
* Updated link to Layman's Guide Now it provides a link to
links to a formatted PDF version of the paper, at a stable
domain (researchgate), using https
* Removed support for EOL Python 2.7, 3.6, 3.7
* Mon Nov 27 2023 Dirk Müller <dmueller@suse.com>
- update to 0.5.1:
* Added support for PyPy 3.10 and Python 3.12
* Updated RTD configuration to include a dummy index.rst
redirecting to contents.html, ensuring compatibility with
third-party documentation and search indexes.
* Fixed the API breakage wih decoder.decode(substrateFun=...).
* A substrateFun passed to ``decoder.decode()`` can now be
either v0.4 Non-Streaming or v0.5 Streaming.
pyasn1 will detect and handle both cases transparently.
* A substrateFun passed to one of the new streaming decoders is
* still expected to be v0.5 Streaming only.
* Thu May 04 2023 Dirk Müller <dmueller@suse.com>
- update to 0.5.0:
* Change `RealEncoder.supportIndefLenMode` type to a boolean
* Fix CI for py39 test environment
* Replace all snmplabs.com links
* Use correct SPDX identifier for the license
* Re-add ``tagMap`` and ``typeMap`` module level attributes to all
encoder and decoder modules. They are aliases for ``TAG_MAP`` and
``TYPE_MAP``
* Restore API for passing for ``tagMap`` and ``typeMap`` arguments
to ``Encoder`` and ``Decoder`` classes by name and position,
* Re-add ``tagMap`` and ``typeMap`` module level attributes to all
encoder and decoder modules. They are aliases for ``TAG_MAP`` and
``TYPE_MAP``
* Restore API for passing for ``tagMap`` and ``typeMap`` arguments
to ``Encoder`` and ``Decoder`` classes by name and position,
* Make BER/CER/DER decoders streaming and suspendible
* Fri Apr 21 2023 Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
* Thu Apr 13 2023 Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
* Thu May 27 2021 pgajdos@suse.com
- %check: use %pyunittest rpm macro
Files
/usr/lib/python3.13/site-packages/pyasn1
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/INSTALLER
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/METADATA
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/RECORD
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/REQUESTED
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/WHEEL
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/licenses
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/licenses/LICENSE.rst
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/top_level.txt
/usr/lib/python3.13/site-packages/pyasn1-0.6.4.dist-info/zip-safe
/usr/lib/python3.13/site-packages/pyasn1/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/__pycache__/debug.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/__pycache__/debug.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/__pycache__/error.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/__pycache__/error.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec
/usr/lib/python3.13/site-packages/pyasn1/codec/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/codec/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/codec/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/__pycache__/streaming.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/__pycache__/streaming.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/decoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/decoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/encoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/encoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/eoo.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/__pycache__/eoo.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/decoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/encoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/ber/eoo.py
/usr/lib/python3.13/site-packages/pyasn1/codec/cer
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__pycache__/decoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__pycache__/decoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__pycache__/encoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/__pycache__/encoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/decoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/cer/encoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/der
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__pycache__/decoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__pycache__/decoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__pycache__/encoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/der/__pycache__/encoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/der/decoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/der/encoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/native
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__pycache__/decoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__pycache__/decoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__pycache__/encoder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/native/__pycache__/encoder.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/codec/native/decoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/native/encoder.py
/usr/lib/python3.13/site-packages/pyasn1/codec/streaming.py
/usr/lib/python3.13/site-packages/pyasn1/compat
/usr/lib/python3.13/site-packages/pyasn1/compat/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/compat/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/compat/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/compat/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/compat/__pycache__/integer.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/compat/__pycache__/integer.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/compat/integer.py
/usr/lib/python3.13/site-packages/pyasn1/debug.py
/usr/lib/python3.13/site-packages/pyasn1/error.py
/usr/lib/python3.13/site-packages/pyasn1/type
/usr/lib/python3.13/site-packages/pyasn1/type/__init__.py
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/base.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/base.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/char.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/char.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/constraint.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/constraint.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/error.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/error.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/namedtype.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/namedtype.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/namedval.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/namedval.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/opentype.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/opentype.cpython-313.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/tag.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/pyasn1/type/__pycache__/tag.cpython-313.pyc
/usr/lib/python3.