Skip to content
Heist/ feed
Back to feed
Low

IMAP APPEND plus CRLF conversion command injection

Type: advisorySources: OSV

Enabling `CURLOPT_CRLF` causes curl to advertise the raw input byte count in the `IMAP APPEND {N}` literal while transmitting line-ending expanded data. The server reads only $N$ bytes for the payload, causing the remaining overflow bytes to be interpreted and executed as pipelined IMAP commands within the authenticated session.

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

Source evidence

IMAP APPEND plus CRLF conversion command injection

core-osv · Original source

Published 14 Oct 2026, 08:00 UTC

Enabling `CURLOPT_CRLF` causes curl to advertise the raw input byte count in the `IMAP APPEND {N}` literal while transmitting line-ending expanded data. The server reads only $N$ bytes for the payload, causing the remaining overflow bytes to be interpreted and executed as pipelined IMAP commands within the authenticated session.

osv:CURL-CVE-2026-87864
Complete source record
{
  "id": "b86adfafc3b6f9faf47727386b82be0a848b812110ffbf5e05ad2dffd16e1752",
  "url": "https://osv.dev/vulnerability/CURL-CVE-2026-87864",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "IMAP APPEND plus CRLF conversion command injection",
    "summary": "Enabling `CURLOPT_CRLF` causes curl to advertise the raw input byte count in the `IMAP APPEND {N}` literal while transmitting line-ending expanded data. The server reads only $N$ bytes for the payload, causing the remaining overflow bytes to be interpreted and executed as pipelined IMAP commands within the authenticated session.",
    "evidence": "osv:CURL-CVE-2026-87864",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CURL-CVE-2026-87864",
      "aliases": [
        "CURL-CVE-2026-87864",
        "CVE-2026-87864"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "7.30.0"
                },
                {
                  "fixed": "8.14.3"
                },
                {
                  "introduced": "8.15.0"
                },
                {
                  "fixed": "8.16.2"
                },
                {
                  "introduced": "8.17.0"
                },
                {
                  "fixed": "8.20.2"
                },
                {
                  "introduced": "8.21.0"
                },
                {
                  "fixed": "8.22.0"
                }
              ]
            },
            {
              "repo": "https://github.com/curl/curl.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "f8c8c76d39ac2fa825481ba42ab2247cd122f963"
                },
                {
                  "fixed": "3b547de301342b347fb3c6ea6ae7979070793a66"
                }
              ]
            }
          ],
          "versions": [
            "8.21.0",
            "8.20.0",
            "8.19.0",
            "8.18.0",
            "8.17.0",
            "8.16.0",
            "8.15.0",
            "8.14.1",
            "8.14.0",
            "8.13.0",
            "8.12.1",
            "8.12.0",
            "8.11.1",
            "8.11.0",
            "8.10.1",
            "8.10.0",
            "8.9.1",
            "8.9.0",
            "8.8.0",
            "8.7.1",
            "8.7.0",
            "8.6.0",
            "8.5.0",
            "8.4.0",
            "8.3.0",
            "8.2.1",
            "8.2.0",
            "8.1.2",
            "8.1.1",
            "8.1.0",
            "8.0.1",
            "8.0.0",
            "7.88.1",
            "7.88.0",
            "7.87.0",
            "7.86.0",
            "7.85.0",
            "7.84.0",
            "7.83.1",
            "7.83.0",
            "7.82.0",
            "7.81.0",
            "7.80.0",
            "7.79.1",
            "7.79.0",
            "7.78.0",
            "7.77.0",
            "7.76.1",
            "7.76.0",
            "7.75.0",
            "7.74.0",
            "7.73.0",
            "7.72.0",
            "7.71.1",
            "7.71.0",
            "7.70.0",
            "7.69.1",
            "7.69.0",
            "7.68.0",
            "7.67.0",
            "7.66.0",
            "7.65.3",
            "7.65.2",
            "7.65.1",
            "7.65.0",
            "7.64.1",
            "7.64.0",
            "7.63.0",
            "7.62.0",
            "7.61.1",
            "7.61.0",
            "7.60.0",
            "7.59.0",
            "7.58.0",
            "7.57.0",
            "7.56.1",
            "7.56.0",
            "7.55.1",
            "7.55.0",
            "7.54.1",
            "7.54.0",
            "7.53.1",
            "7.53.0",
            "7.52.1",
            "7.52.0",
            "7.51.0",
            "7.50.3",
            "7.50.2",
            "7.50.1",
            "7.50.0",
            "7.49.1",
            "7.49.0",
            "7.48.0",
            "7.47.1",
            "7.47.0",
            "7.46.0",
            "7.45.0",
            "7.44.0",
            "7.43.0",
            "7.42.1",
            "7.42.0",
            "7.41.0",
            "7.40.0",
            "7.39.0",
            "7.38.0",
            "7.37.1",
            "7.37.0",
            "7.36.0",
            "7.35.0",
            "7.34.0",
            "7.33.0",
            "7.32.0",
            "7.31.0",
            "7.30.0",
            "rc-8_22_0-3",
            "rc-8_22_0-2",
            "rc-8_22_0-1",
            "curl-8_21_0",
            "rc-8_21_0-3",
            "rc-8_21_0-2",
            "rc-8_21_0-1",
            "curl-8_20_0",
            "rc-8_20_0-3",
            "rc-8_20_0-2",
            "rc-8_20_0-1",
            "curl-8_19_0",
            "rc-8_19_0-3",
            "rc-8_19_0-2",
            "rc-8_19_0-1",
            "curl-8_18_0",
            "rc-8_18_0-3",
            "rc-8_18_0-2",
            "rc-8_18_0-1",
            "curl-8_17_0",
            "curl-8_16_0",
            "curl-8_15_0",
            "curl-8_14_1",
            "curl-8_14_0",
            "curl-8_13_0",
            "curl-8_12_1",
            "curl-8_12_0",
            "curl-8_11_1",
            "curl-8_11_0",
            "curl-8_10_1",
            "curl-8_10_0",
            "curl-8_9_1",
            "curl-8_9_0",
            "curl-8_8_0",
            "curl-8_7_1",
            "curl-8_7_0",
            "curl-8_6_0",
            "curl-8_5_0",
            "tiny-curl-8_4_0",
            "curl-8_4_0",
            "curl-8_3_0",
            "curl-8_2_1",
            "curl-8_2_0",
            "curl-8_1_2",
            "curl-8_1_1",
            "curl-8_1_0",
            "curl-8_0_1",
            "curl-8_0_0",
            "curl-7_88_1",
            "curl-7_88_0",
            "curl-7_87_0",
            "curl-7_86_0",
            "curl-7_85_0",
            "curl-7_84_0",
            "curl-7_83_1",
            "curl-7_83_0",
            "curl-7_82_0",
            "curl-7_81_0",
            "curl-7_80_0",
            "curl-7_79_1",
            "curl-7_79_0",
            "curl-7_78_0",
            "curl-7_77_0",
            "curl-7_76_1",
            "curl-7_76_0",
            "curl-7_75_0",
            "curl-7_74_0",
            "curl-7_73_0",
            "tiny-curl-7_72_0",
            "curl-7_72_0",
            "curl-7_71_1",
            "curl-7_71_0",
            "curl-7_70_0",
            "curl-7_69_1",
            "curl-7_69_0",
            "curl-7_68_0",
            "curl-7_67_0",
            "curl-7_66_0",
            "curl-7_65_3",
            "curl-7_65_2",
            "curl-7_65_1",
            "curl-7_65_0",
            "curl-7_64_1",
            "curl-7_64_0",
            "curl-7_63_0",
            "curl-7_62_0",
            "curl-7_61_1",
            "curl-7_61_0",
            "curl-7_60_0",
            "curl-7_59_0",
            "curl-7_58_0",
            "curl-7_57_0",
            "curl-7_56_1",
            "curl-7_56_0",
            "curl-7_55_1",
            "curl-7_55_0",
            "curl-7_54_1",
            "curl-7_54_0",
            "curl-7_53_1",
            "curl-7_53_0",
            "curl-7_52_1",
            "curl-7_52_0",
            "curl-7_51_0",
            "curl-7_50_3",
            "curl-7_50_2",
            "curl-7_50_1",
            "curl-7_50_0",
            "curl-7_49_1",
            "curl-7_49_0",
            "curl-7_48_0",
            "curl-7_47_1",
            "curl-7_47_0",
            "curl-7_46_0",
            "curl-7_45_0",
            "curl-7_44_0",
            "curl-7_43_0",
            "curl-7_42_1",
            "curl-7_42_0",
            "curl-7_41_0",
            "curl-7_40_0",
            "curl-7_39_0",
            "curl-7_38_0",
            "curl-7_37_1",
            "curl-7_37_0",
            "curl-7_36_0",
            "curl-7_35_0",
            "curl-7_34_0",
            "curl-7_33_0",
            "curl-7_32_0",
            "curl-7_31_0",
            "curl-7_30_0"
          ],
          "database_specific": {
            "source": "https://curl.se/docs/CURL-CVE-2026-87864.json",
            "vanir_signatures": [
              {
                "id": "CURL-CVE-2026-87864-0ce8cfa2",
                "digest": {
                  "length": 2049,
                  "function_hash": "271163736960417285140970839678364115519"
                },
                "source": "https://github.com/curl/curl.git/commit/3b547de301342b347fb3c6ea6ae7979070793a66",
                "target": {
                  "file": "lib/imap.c",
                  "function": "imap_perform_append"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CURL-CVE-2026-87864-1bd163f9",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "251391810045803685832643111882952219983",
                    "230272450495413905076510337395308289975",
                    "279345524937848122541175804955803927206",
                    "326579516450104158312078249796725653019",
                    "6314725441832225559310330025237115345",
                    "114921374853254453887647134154033142821",
                    "21107455571070083965206735011929559656",
                    "181508033716914528430102015631184913514",
                    "550900563960819447413324627059592860"
                  ]
                },
                "source": "https://github.com/curl/curl.git/commit/3b547de301342b347fb3c6ea6ae7979070793a66",
                "target": {
                  "file": "lib/imap.c"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-25T01:05:10Z"
          }
        }
      ],
      "modified": "2026-10-25T01:05:10.991036732Z",
      "provider": "osv",
      "references": [],
      "provider_metadata": {
        "CWE": {
          "id": "CWE-130",
          "desc": "Improper Handling of Length Parameter Inconsistency"
        },
        "URL": "https://curl.se/docs/CVE-2026-87864.json",
        "www": "https://curl.se/docs/CVE-2026-87864.html",
        "issue": "https://hackerone.com/reports/3972403",
        "affects": "both",
        "package": "curl",
        "severity": "Low",
        "last_affected": "8.21.0"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-87864",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 444349,
  "published_at": "2026-10-14T08:00:00+00:00"
}