Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: CVE-2019-15691

TigerVNC version prior to 1.10.1 is vulnerable to stack use-after-return, which occurs due to incorrect usage of stack memory in ZRLEDecoder. If decoding routine would throw an exception, ZRLEDecoder may try to access stack variable, which has been already freed during the process of stack unwinding. Exploitation of this vulnerability could potentially result into remote code execution. This attack appear to be exploitable via network connectivity.

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

Source evidence

CVE-2019-15691

core-osv · Original source

Published 26 Dec 2019, 15:15 UTC

TigerVNC version prior to 1.10.1 is vulnerable to stack use-after-return, which occurs due to incorrect usage of stack memory in ZRLEDecoder. If decoding routine would throw an exception, ZRLEDecoder may try to access stack variable, which has been already freed during the process of stack unwinding. Exploitation of this vulnerability could potentially result into remote code execution. This attack appear to be exploitable via network connectivity.

osv:CVE-2019-15691
Complete source record
{
  "id": "8366dccbe61029437774a9969989942eb2ce701e2d46ed6547a543cb45becf29",
  "url": "https://osv.dev/vulnerability/CVE-2019-15691",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2019-15691",
    "summary": "TigerVNC version prior to 1.10.1 is vulnerable to stack use-after-return, which occurs due to incorrect usage of stack memory in ZRLEDecoder. If decoding routine would throw an exception, ZRLEDecoder may try to access stack variable, which has been already freed during the process of stack unwinding. Exploitation of this vulnerability could potentially result into remote code execution. This attack appear to be exploitable via network connectivity.",
    "evidence": "osv:CVE-2019-15691",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2019-15691",
      "aliases": [
        "CVE-2019-15691"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/cendioossman/tigervnc",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "d61a767d6842b530ffb532ddd5a3d233119aad40"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "fixed": "d61a767d6842b530ffb532ddd5a3d233119aad40"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.1.90",
            "v0.0.90"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-15691.json",
            "vanir_signatures": [
              {
                "id": "CVE-2019-15691-04dd1a4b",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "204303623166779238483887552030847066445",
                    "315248744224772188718157330175478084032",
                    "274052888296944522189054299778241086834",
                    "99278454269626142342656808396278254415",
                    "129200273769452118045281423186061236376",
                    "66410138041244921936826308424901009069",
                    "56699461020621311677795185682646461652",
                    "270238479249130790739426085113804358243",
                    "237461424953475085663702760926656209341",
                    "271414252301968336743012908368542265553",
                    "115871888166058619572916358196589886318",
                    "11561430391738875970152941522538060317",
                    "147798988072691765226872268718086014811",
                    "297002842891710211359237619512190540540",
                    "99546148120681019318710313316289490313",
                    "114449188950837210071159485790582287716",
                    "30913536482867902886706913537831080242",
                    "285874900460478948913974081577960528961",
                    "44353293067210972511899046648512017673",
                    "51714242551483705438645751140366274041",
                    "294932457647896663447891802988340384655",
                    "137943956225303363417200258513100500088",
                    "227776287069914516942238150235790379210",
                    "160939558957799929836128092512780031670",
                    "183078919098510615097977262654637261319"
                  ]
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rdr/ZlibInStream.cxx"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-071b0589",
                "digest": {
                  "length": 172,
                  "function_hash": "188719958389051162875645351898477883714"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rdr/ZlibInStream.cxx",
                  "function": "ZlibInStream::removeUnderlying"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-0abf3e86",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "283573142348958584063749098857273900459",
                    "271213403981126715822984092084399355833",
                    "236401509042081284432115388108426120354",
                    "257539202092736540493806258702287850625"
                  ]
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/TightDecoder.cxx"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-28b861e7",
                "digest": {
                  "length": 1902,
                  "function_hash": "221642956635236838413485158598572996426"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/CMsgReader.cxx",
                  "function": "CMsgReader::readExtendedClipboard"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-49a0334c",
                "digest": {
                  "length": 1902,
                  "function_hash": "249330792118483963723572580780826680597"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/SMsgReader.cxx",
                  "function": "SMsgReader::readExtendedClipboard"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-57827c72",
                "digest": {
                  "length": 119,
                  "function_hash": "168775130026271768724133891068112790317"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rdr/ZlibInStream.cxx",
                  "function": "ZlibInStream::deinit"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-58d1f584",
                "digest": {
                  "length": 524,
                  "function_hash": "69286648830172394634447434403236223546"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rdr/ZlibInStream.cxx",
                  "function": "ZlibInStream::overrun"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-6531b0b2",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "274246656046471054274455508987465116975",
                    "155336084131480830587677351237767330267",
                    "161525145810570613546861903989687480002",
                    "294677960825859464252552326682482888015"
                  ]
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/CMsgReader.cxx"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-664aa1f5",
                "digest": {
                  "length": 659,
                  "function_hash": "229198749783017286414327185251349709420"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rdr/ZlibInStream.cxx",
                  "function": "ZlibInStream::decompress"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-7b850b0a",
                "digest": {
                  "length": 4052,
                  "function_hash": "57376710133337312006532123831704652747"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/TightDecoder.cxx",
                  "function": "TightDecoder::decodeRect"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-7bfea507",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "274246656046471054274455508987465116975",
                    "155336084131480830587677351237767330267",
                    "161525145810570613546861903989687480002",
                    "294677960825859464252552326682482888015"
                  ]
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/SMsgReader.cxx"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-c6bf4d44",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "62342344483068679382349342097763039855",
                    "294858835013547152210477521267800941482",
                    "223495274356914877116328582149186443821",
                    "321286448535167699616158033605795325838"
                  ]
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/zrleDecode.h"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-d14116e1",
                "digest": {
                  "length": 2283,
                  "function_hash": "190650468540750458524944345589794886556"
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rfb/zrleDecode.h",
                  "function": "ZRLE_DECODE"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-15691-f0a94c0d",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "163136916435026852702155602096944800336",
                    "101838244181060746566372222076658875810",
                    "53331831765539383648739417573224190047",
                    "225047734943380240864613502853964558918"
                  ]
                },
                "source": "https://github.com/cendioossman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
                "target": {
                  "file": "common/rdr/ZlibInStream.h"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-20T13:55:30Z"
          }
        },
        {
          "ranges": [
            {
              "repo": "https://github.com/tigervnc/tigervnc",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "4739493b635372bd40a34640a719f79fa90e4dba"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:tigervnc:tigervnc:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.10.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4739493b635372bd40a34640a719f79fa90e4dba"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.10.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.10.0",
            "v1.9.90",
            "v1.1.90",
            "v0.0.90"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-15691.json"
          }
        }
      ],
      "modified": "2026-10-20T13:55:30.887128046Z",
      "provider": "osv",
      "references": [
        "https://github.com/TigerVNC/tigervnc/releases/tag/v1.10.1",
        "https://github.com/CendioOssman/tigervnc/commit/d61a767d6842b530ffb532ddd5a3d233119aad40",
        "https://www.openwall.com/lists/oss-security/2019/12/20/2"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:*"
            ],
            "vendor_product": "opensuse:leap",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "15.1"
                  },
                  {
                    "last_affected": "15.1"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2019-15691",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 388379,
  "published_at": "2019-12-26T15:15:11.007+00:00"
}