Skip to content
Heist/ feed
Back to feed
High

data callback excessive length

Type: advisorySources: OSV

When downloading data, libcurl hands it over to the application using a callback that is registered by the client software. libcurl then calls that function repeatedly with data until the transfer is complete. The callback is documented to receive a maximum data size of 16K (`CURL_MAX_WRITE_SIZE`). Using the affected libcurl version to download compressed content over HTTP, an application can ask libcurl to automatically uncompress data. When doing so, libcurl can wrongly send data up to 64K in size to the callback which thus is much larger than the documented maximum size. An application that blindly trusts libcurl's max limit for a fixed buffer size or similar is then a possible target for a buffer overflow vulnerability. This error is only present in zlib-enabled builds of libcurl and only if automatic decompression has been explicitly enabled by the application - it is disabled by default. We have not found any libcurl client software that is vulnerable to this flaw - but we acknowledge that there may still be vulnerable software in existence.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2010-0734
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 09:36 UTC · Revision 1

Source evidence

data callback excessive length

core-osv · Original source

Published 9 Feb 2010, 08:00 UTC

When downloading data, libcurl hands it over to the application using a callback that is registered by the client software. libcurl then calls that function repeatedly with data until the transfer is complete. The callback is documented to receive a maximum data size of 16K (`CURL_MAX_WRITE_SIZE`). Using the affected libcurl version to download compressed content over HTTP, an application can ask libcurl to automatically uncompress data. When doing so, libcurl can wrongly send data up to 64K in size to the callback which thus is much larger than the documented maximum size. An application that blindly trusts libcurl's max limit for a fixed buffer size or similar is then a possible target for a buffer overflow vulnerability. This error is only present in zlib-enabled builds of libcurl and only if automatic decompression has been explicitly enabled by the application - it is disabled by default. We have not found any libcurl client software that is vulnerable to this flaw - but we acknowledge that there may still be vulnerable software in existence.

osv:CURL-CVE-2010-0734
Complete source record
{
  "id": "aa60c2f04d48fb694a28fafbef939e49b341b709931a5035caf185b4b043e1d1",
  "url": "https://osv.dev/vulnerability/CURL-CVE-2010-0734",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "data callback excessive length",
    "summary": "When downloading data, libcurl hands it over to the application using a callback that is registered by the client software. libcurl then calls that function repeatedly with data until the transfer is complete. The callback is documented to receive a maximum data size of 16K (`CURL_MAX_WRITE_SIZE`). Using the affected libcurl version to download compressed content over HTTP, an application can ask libcurl to automatically uncompress data. When doing so, libcurl can wrongly send data up to 64K in size to the callback which thus is much larger than the documented maximum size. An application that blindly trusts libcurl's max limit for a fixed buffer size or similar is then a possible target for a buffer overflow vulnerability. This error is only present in zlib-enabled builds of libcurl and only if automatic decompression has been explicitly enabled by the application - it is disabled by default. We have not found any libcurl client software that is vulnerable to this flaw - but we acknowledge that there may still be vulnerable software in existence.",
    "evidence": "osv:CURL-CVE-2010-0734",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CURL-CVE-2010-0734",
      "aliases": [
        "CURL-CVE-2010-0734",
        "CVE-2010-0734"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "7.10.5"
                },
                {
                  "fixed": "7.20.0"
                }
              ]
            },
            {
              "repo": "https://github.com/curl/curl.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "c95814c04d6a0436e5c4c88d2e1d57c7e0c91060"
                },
                {
                  "fixed": "06ae8ca5a6e452e5cb555c1a511a9df8dec6657c"
                }
              ]
            }
          ],
          "versions": [
            "7.19.7",
            "7.19.6",
            "7.19.5",
            "7.19.4",
            "7.19.3",
            "7.19.2",
            "7.19.1",
            "7.19.0",
            "7.18.2",
            "7.18.1",
            "7.18.0",
            "7.17.1",
            "7.17.0",
            "7.16.4",
            "7.16.3",
            "7.16.2",
            "7.16.1",
            "7.16.0",
            "7.15.5",
            "7.15.4",
            "7.15.3",
            "7.15.2",
            "7.15.1",
            "7.15.0",
            "7.14.1",
            "7.14.0",
            "7.13.2",
            "7.13.1",
            "7.13.0",
            "7.12.3",
            "7.12.2",
            "7.12.1",
            "7.12.0",
            "7.11.2",
            "7.11.1",
            "7.11.0",
            "7.10.8",
            "7.10.7",
            "7.10.6",
            "7.10.5",
            "curl-7_19_7",
            "curl-7_19_6",
            "curl-7_19_5",
            "curl-7_19_4",
            "curl-7_19_3",
            "curl-7_19_2",
            "curl-7_19_1",
            "curl-7_19_0",
            "curl-7_18_2",
            "curl-7_18_1",
            "curl-7_18_0",
            "curl-7_17_1",
            "curl-7_17_0",
            "curl-7_17_0-preldapfix",
            "curl-7_16_4",
            "curl-7_16_3",
            "curl-7_16_2",
            "curl-7_16_1",
            "curl-7_16_0",
            "curl-7_15_6-prepipeline",
            "curl-7_15_5",
            "curl-7_15_4",
            "curl-7_15_3",
            "curl-7_15_2",
            "curl-7_15_1",
            "curl-7_15_0",
            "curl-7_14_1",
            "curl-7_14_0",
            "curl-7_13_2",
            "curl-7_13_1",
            "before_ftp_statemachine",
            "curl-7_13_0",
            "curl-7_12_3",
            "curl-7_12_2",
            "curl-7_12_1",
            "curl-7_12_0",
            "curl-7_11_2",
            "curl-7_11_1",
            "curl-7_11_0",
            "curl-7_10_8",
            "curl-7_10_7",
            "curl-7_10_6",
            "curl-7_10_5"
          ],
          "database_specific": {
            "source": "https://curl.se/docs/CURL-CVE-2010-0734.json"
          }
        }
      ],
      "modified": "2026-10-24T23:29:53Z",
      "provider": "osv",
      "references": [],
      "provider_metadata": {
        "CWE": {
          "id": "CWE-628",
          "desc": "Function Call with Incorrectly Specified Arguments"
        },
        "URL": "https://curl.se/docs/CVE-2010-0734.json",
        "www": "https://curl.se/docs/CVE-2010-0734.html",
        "affects": "lib",
        "package": "curl",
        "severity": "High",
        "last_affected": "7.19.7"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2010-0734",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 444211,
  "published_at": "2010-02-09T08:00:00+00:00"
}