cbcvebase.
CVE-2019-1306
published 2019-09-11

CVE-2019-1306: A remote code execution vulnerability exists when Azure DevOps Server (ADO) and Team Foundation Server (TFS) fail to validate input properly, aka 'Azure DevOps…

PriorityP267critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EPSS
15.91%
96.5th percentile
A remote code execution vulnerability exists when Azure DevOps Server (ADO) and Team Foundation Server (TFS) fail to validate input properly, aka 'Azure DevOps and Team Foundation Server Remote Code Execution Vulnerability'.

Affected

8 ranges
VendorProductVersion rangeFixed in
microsoftazure_devops_server
microsoftazure_devops_server
microsoftazure_devops_server_2019_update_1
microsoftteam_foundation_server
microsoftteam_foundation_server_2018
msrcazure_devops_server_2019.0.1
msrcazure_devops_server_2019_update_1
msrcteam_foundation_server_2018_update_3.2

Detection & IOCsextracted from sources · hover to see the quote

filenameMicrosoft.VisualStudio.Services.Search.Server.Jobs.dll
other```**Header**\t (malicious Markdown trigger string)
processTFSJobAgent
bytes
0x0000FEFF (BinaryFormatter RootId header bypass)
  • Detect Git repository pushes containing files whose binary content begins with the byte sequence 0x00 0x00 0xFE 0xFF (BOM bypass) combined with a Markdown parsing-exception trigger string, as this is the specific exploit delivery mechanism.
  • Alert on files committed to ADO/TFS Git repos that trigger Markdig.Tests.MiscTests::TestInvalidCodeEscape-style parsing exceptions (invalid code-escape Markdown), as this is used to smuggle the BinaryFormatter payload into the index.
  • Inspect calls to BinaryFormatter::Deserialize within Microsoft.VisualStudio.Services.Search.Server.Jobs.dll (method DeserializeToObject) for untrusted/attacker-controlled input, as the absence of a SerializationBinder is the root cause.
  • Look for the TypeConfuseDelegate gadget chain in BinaryFormatter serialized streams pushed to ADO/TFS Wiki Git repositories, as this is the documented RCE gadget used in exploitation.
  • ·The exploit requires the attacker to have at minimum read/write access to a Git repository on the target ADO/TFS server (to push the crafted file); it is not an unauthenticated attack.
  • ·The vulnerability is triggered asynchronously — the attacker must push the file and then wait for TFSJobAgent to index it; there is no immediate/synchronous trigger.
  • ·The patch adds a custom SerializationBinder to BinaryFormatter that restricts deserialization to known types; unpatched instances lack this control entirely.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
vendor_msrc9.8CRITICAL
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.