Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2019-12529

An issue was discovered in Squid 2.x through 2.7.STABLE9, 3.x through 3.5.28, and 4.x through 4.7. When Squid is configured to use Basic Authentication, the Proxy-Authorization header is parsed via uudecode. uudecode determines how many bytes will be decoded by iterating over the input and checking its table. The length is then used to start decoding the string. There are no checks to ensure that the length it calculates isn't greater than the input buffer. This leads to adjacent memory being decoded as well. An attacker would not be able to retrieve the decoded data unless the Squid maintainer had configured the display of usernames on error pages.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2019-12529
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 10:33 UTC · Revision 1

Source evidence

CVE-2019-12529

core-osv · Original source

Published 11 Jul 2019, 19:15 UTC

An issue was discovered in Squid 2.x through 2.7.STABLE9, 3.x through 3.5.28, and 4.x through 4.7. When Squid is configured to use Basic Authentication, the Proxy-Authorization header is parsed via uudecode. uudecode determines how many bytes will be decoded by iterating over the input and checking its table. The length is then used to start decoding the string. There are no checks to ensure that the length it calculates isn't greater than the input buffer. This leads to adjacent memory being decoded as well. An attacker would not be able to retrieve the decoded data unless the Squid maintainer had configured the display of usernames on error pages.

osv:CVE-2019-12529
Complete source record
{
  "id": "6945cd6f913cbd80710ee32e110088ebce4066b3bf1d49f3f7229cbae69e1f85",
  "url": "https://osv.dev/vulnerability/CVE-2019-12529",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2019-12529",
    "summary": "An issue was discovered in Squid 2.x through 2.7.STABLE9, 3.x through 3.5.28, and 4.x through 4.7. When Squid is configured to use Basic Authentication, the Proxy-Authorization header is parsed via uudecode. uudecode determines how many bytes will be decoded by iterating over the input and checking its table. The length is then used to start decoding the string. There are no checks to ensure that the length it calculates isn't greater than the input buffer. This leads to adjacent memory being decoded as well. An attacker would not be able to retrieve the decoded data unless the Squid maintainer had configured the display of usernames on error pages.",
    "evidence": "osv:CVE-2019-12529",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2019-12529",
      "aliases": [
        "CVE-2019-12529"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/squid-cache/squid",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "6cfeb300caf423ff49a0511d8bd43a56f3418273"
                },
                {
                  "last_affected": "2e17b02616d37206ba9cccc53c20667624fbef9f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:squid-cache:squid:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "3.0"
                      },
                      {
                        "last_affected": "3.5.28"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:squid-cache:squid:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "4.0"
                      },
                      {
                        "last_affected": "4.7"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "SQUID_4_7",
            "SQUID_4_6",
            "SQUID_4_5",
            "SQUID_4_4",
            "SQUID_3_5_28",
            "SQUID_4_3",
            "SQUID_4_2",
            "SQUID_4_1",
            "SQUID_4_0_25",
            "SQUID_4_0_24",
            "SQUID_4_0_23",
            "SQUID_4_0_22",
            "SQUID_4_0_21",
            "SQUID_3_5_26",
            "SQUID_4_0_20",
            "SQUID_3_5_25",
            "SQUID_4_0_19",
            "SQUID_3_5_24",
            "SQUID_4_0_18",
            "SQUID_3_5_23",
            "SQUID_4_0_17",
            "SQUID_4_0_16",
            "SQUID_3_5_22",
            "SQUID_4_0_15",
            "SQUID_3_5_21",
            "SQUID_4_0_14",
            "SQUID_4_0_13",
            "SQUID_3_5_20",
            "SQUID_4_0_12",
            "SQUID_4_0_11",
            "SQUID_3_5_19",
            "SQUID_4_0_10",
            "SQUID_3_5_18",
            "SQUID_3_5_17",
            "SQUID_4_0_9",
            "SQUID_3_5_16",
            "SQUID_4_0_8",
            "SQUID_3_5_15",
            "SQUID_4_0_7",
            "SQUID_3_5_14",
            "SQUID_4_0_6",
            "SQUID_4_0_5",
            "SQUID_3_5_13",
            "SQUID_4_0_4",
            "SQUID_3_5_12",
            "SQUID_4_0_3",
            "SQUID_3_5_11",
            "SQUID_4_0_2",
            "SQUID_4_0_1",
            "SQUID_3_5_10",
            "SQUID_3_5_9",
            "SQUID_3_5_8",
            "SQUID_3_5_7",
            "SQUID_3_5_6",
            "SQUID_3_5_5",
            "SQUID_3_5_4",
            "SQUID_3_5_3",
            "SQUID_3_5_2",
            "SQUID_3_5_1",
            "SQUID_3_5_0_4",
            "SQUID_3_5_0_3",
            "SQUID_3_5_0_2",
            "SQUID_3_5_0_1",
            "take00",
            "SQUID_3_0_RC1",
            "SQUID_3_0_PRE7",
            "SQUID_3_0_PRE6",
            "SQUID_3_0_PRE5",
            "SQUID_3_0_PRE4",
            "SQUID_3_0_PRE3",
            "SQUID_3_0_PRE2",
            "SQUID_3_0_PRE1",
            "HISTORIC_RELEASES"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-12529.json"
          }
        }
      ],
      "modified": "2026-10-20T10:50:40.195720929Z",
      "provider": "osv",
      "references": [
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SPXN2CLAGN5QSQBTOV5IGVLDOQSRFNTZ/",
        "https://lists.debian.org/debian-lts-announce/2019/07/msg00018.html",
        "https://lists.debian.org/debian-lts-announce/2020/07/msg00009.html",
        "https://seclists.org/bugtraq/2019/Aug/42",
        "https://usn.ubuntu.com/4065-1/",
        "https://usn.ubuntu.com/4065-2/",
        "https://www.debian.org/security/2019/dsa-4507",
        "https://github.com/squid-cache/squid/commits/v4"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:a:squid-cache:squid:*:*:*:*:*:*:*:*"
            ],
            "vendor_product": "squid-cache:squid",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "2.0"
                  },
                  {
                    "fixed": "2.7"
                  }
                ],
                "source": "CPE_RANGE"
              }
            ]
          },
          {
            "cpes": [
              "cpe:2.3:o:canonical:ubuntu_linux:12.04:*:*:*:-:*:*:*",
              "cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:esm:*:*:*",
              "cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*",
              "cpe:2.3:o:canonical:ubuntu_linux:19.04:*:*:*:*:*:*:*"
            ],
            "vendor_product": "canonical:ubuntu_linux",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "12.04"
                  },
                  {
                    "last_affected": "12.04"
                  },
                  {
                    "introduced": "16.04"
                  },
                  {
                    "last_affected": "16.04"
                  },
                  {
                    "introduced": "18.04"
                  },
                  {
                    "last_affected": "18.04"
                  },
                  {
                    "introduced": "19.04"
                  },
                  {
                    "last_affected": "19.04"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          },
          {
            "cpes": [
              "cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*",
              "cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:*",
              "cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*"
            ],
            "vendor_product": "debian:debian_linux",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "8.0"
                  },
                  {
                    "last_affected": "8.0"
                  },
                  {
                    "introduced": "9.0"
                  },
                  {
                    "last_affected": "9.0"
                  },
                  {
                    "introduced": "10.0"
                  },
                  {
                    "last_affected": "10.0"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          },
          {
            "cpes": [
              "cpe:2.3:o:fedoraproject:fedora:29:*:*:*:*:*:*:*"
            ],
            "vendor_product": "fedoraproject:fedora",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "29"
                  },
                  {
                    "last_affected": "29"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          },
          {
            "cpes": [
              "cpe:2.3:o:opensuse:leap:15.0:*:*:*:*:*:*:*",
              "cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:*"
            ],
            "vendor_product": "opensuse:leap",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "15.0"
                  },
                  {
                    "last_affected": "15.0"
                  },
                  {
                    "introduced": "15.1"
                  },
                  {
                    "last_affected": "15.1"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          },
          {
            "cpes": [
              "cpe:2.3:a:squid-cache:squid:2.7:stable1:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable2:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable3:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable4:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable5:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable6:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable7:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable8:*:*:*:*:*:*",
              "cpe:2.3:a:squid-cache:squid:2.7:stable9:*:*:*:*:*:*"
            ],
            "vendor_product": "squid-cache:squid",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "2.7-stable1"
                  },
                  {
                    "last_affected": "2.7-stable1"
                  },
                  {
                    "introduced": "2.7-stable2"
                  },
                  {
                    "last_affected": "2.7-stable2"
                  },
                  {
                    "introduced": "2.7-stable3"
                  },
                  {
                    "last_affected": "2.7-stable3"
                  },
                  {
                    "introduced": "2.7-stable4"
                  },
                  {
                    "last_affected": "2.7-stable4"
                  },
                  {
                    "introduced": "2.7-stable5"
                  },
                  {
                    "last_affected": "2.7-stable5"
                  },
                  {
                    "introduced": "2.7-stable6"
                  },
                  {
                    "last_affected": "2.7-stable6"
                  },
                  {
                    "introduced": "2.7-stable7"
                  },
                  {
                    "last_affected": "2.7-stable7"
                  },
                  {
                    "introduced": "2.7-stable8"
                  },
                  {
                    "last_affected": "2.7-stable8"
                  },
                  {
                    "introduced": "2.7-stable9"
                  },
                  {
                    "last_affected": "2.7-stable9"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2019-12529",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 381975,
  "published_at": "2019-07-11T19:15:13.157+00:00"
}