Skip to content

release-2.0.2

Choose a tag to compare

@github-actions github-actions released this 17 Jun 23:55
· 207 commits to main since this release

Security release — all users are encouraged to upgrade.

This release fixes three security vulnerabilities:

  • GHSA-gcj7-j9f7-q84c — Transfer-Encoding: chunked bodies bypassed the g_maxContentLength limit. Because content_length is never set for chunked transfers, the existing size checks were skipped while the decoded entity accumulated past the configured maximum. Fixed by also checking entity.length in http_RecvMessage().

  • GHSA-q54q-vx78-v9rq — NULL dereference in ixmlNode_compare(). Non-namespaced attributes have nodeValue, namespaceURI, prefix, and localName as NULL, but the function passed them directly to strcmp(). Comparing two distinct attribute objects with the same name (as removeAttributeNode does) triggered a crash. Fixed by using a NULL-safe wrapper.

  • GHSA-g6c2-x4r9-352g — Integer truncation in raw_to_int(). The function used strtol() (returns long, 64-bit on LP64) and cast the result to int (32-bit), silently truncating Content-Length values above INT_MAX. A value like 4294967301 (2³²+5) was stored as 5, bypassing size limits. Fixed by switching to strtoll() with an explicit INT_MAX bound check.