Skip to main content
dkfidler
Participating Frequently
December 16, 2025

CC Desktop updater opens hundreds of concurrent HTTPS connections, causing DNS resolution failures

  • December 16, 2025
  • 0 replies
  • 104 views

Environment

  • Windows 11 Pro (10.0.26200 Build 26200)

  • Creative Cloud Desktop versions:

    • Home / Apps / Files:  6.8.1.856
    • Benefits: 1.1.50
    • Create: 1.1.214
    • Plugins: 6.8.11
    • CC Libs Sync (CC Library): 4.13.3
    • Stock & Marketplace: 3.3.0.4
    • Adobe Content Synchronizer (Core Sync) 7.8.10.1
    • CC Content Manager (CCX Process): 7.1.3.2
  • Network:
    • LAN: 1000 Mb/s (full path)
    • WAN: 100Mb/s (symmetrical)
    • Issue reproducible on multiple networks
  • Test Machine:
    • i7-14700K, 64GB RAM, 1GB/s ethernet to the switch

 

Description


When Creative Cloud Desktop performs application updates, it opens a very large number of parallel outbound HTTPS connections. During this time, other applications on the same machine fail to resolve DNS names for the duration of the network portion of the update.

 

This presents as:

  • Browsers failing to load pages

  • Package managers / APIs timing out

  • General “no internet” behaviour

 

The issue resolves immediately when Creative Cloud updates are paused or completed.

 

Expected behaviour
Creative Cloud Desktop should:

  • Avoid starving DNS resolution for other applications

  • Implement connection or bandwidth throttling

  • Yield network resources to the OS

 

Actual behaviour

  • Creative Cloud consumes all available outbound connections

  • DNS requests from unrelated applications time out

  • Windows network remains “connected” but unusable

 

Notes

  • This appears to be connection saturation rather than raw bandwidth usage

  • Limiting Creative Cloud using OS-level QoS policies prevents the issue entirely

  • This suggests missing internal throttling or backoff logic

 

Supporting Evidence

 

1) Connection Counts:

 

I manually initiated an update of Camera Raw v18.11 on 16 Dec 2025 and sampled connection counts via PowerShell.

 

Connection counts ramp up rapidly and stabilise at approximately:

  • ~366 Established

  • ~366 Bound

(≈ 732 total TCP sockets owned by Setup.exe)

 

This occurs well after the WAN link is already saturated at 100 Mb/s.

 

Representative samples are included below (full logs attached).

 

KEY OBSERVATION:  Connection count continues to increase even though aggregate throughput remains constant.

 

PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
    5 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50290??90.244.154.34??443"), MSFT_NetTCPConnection (InstanceID = "...
    5 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50290??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??502...


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
   45 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50330??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??503...
   43 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50328??90.244.154.34??443"), MSFT_NetTCPConnection (InstanceID = "...
    2 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50330??90.244.154.34??443"), MSFT_NetTCPConnection (InstanceID = "...


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
   65 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50351??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??503...
   64 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50350??90.244.154.34??443"), MSFT_NetTCPConnection (InstanceID = "...
    1 SynSent        Get-NetTCPConnection |PConnection (InstanceID = "192.168.1.6??50351??90.244.154.34??443")}
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
   91 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50378??90.244.154.34??443"), MSFT_NetTCPConnection (InstanceID = "...
   91 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50378??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??503...


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
   93 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50382??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "1...
   93 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50382??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??503...


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  124 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50414??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??504...
  123 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50414??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "1...
    1 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50407??95.101.63.90??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  149 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50439??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??504...
  148 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50438??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "1...
    1 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50439??95.101.63.90??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  179 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50470??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??504...
  178 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50470??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "1...
    1 SynSent        Get-NetTCPConnection |PConnection (InstanceID = "192.168.1.6??50460??95.101.63.90??443")}
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  218 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50509??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50508??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50507??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50506??0.0.0.0??0")...}
  215 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50508??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50507??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50505??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50504??9...
    3 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50509??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50506??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50503??95.101.63.90??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  251 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50544??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50543??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50542??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50541??95.101.63.90??443")...}
  251 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50544??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50543??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50542??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??50541??0.0.0.0??0")...}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  285 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65114??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65113??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65112??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65111??0.0.0.0??0")...}
  283 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65114??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65113??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65112??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65111??95.101.63.90??443")...}
    2 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??61907??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??51216??95.101.63.90??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  322 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65507??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65506??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65505??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65504??0.0.0.0??0")...}
  321 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65506??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65505??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65504??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65503??95.101.63.90??443")...}
    1 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65507??95.101.63.90??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  336 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65534??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65533??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65532??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65531??95.101.63.90??443")...}
  336 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65534??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65533??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65532??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65531??0.0.0.0??0")...}
    1 FinWait2                  {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50307??90.244.154.34??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  339 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65534??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65533??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65532??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65531??95.101.63.90??443")...}
  339 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65534??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65533??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65532??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65531??0.0.0.0??0")...}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  345 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65534??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65533??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65532??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65531??0.0.0.0??0")...}
  344 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65534??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65533??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65532??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65531??95.101.63.90??443")...}
    1 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??50587??95.101.63.90??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  364 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65534??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65533??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65532??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65531??0.0.0.0??0")...}
  363 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65534??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65533??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65532??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65531??95.101.63.90??443")...}
    1 SynSent                   {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??52237??95.101.63.90??443")}


PS C:\Users\xxxxxxxxxx> Get-NetTCPConnection |
>>   Where-Object { $_.OwningProcess -eq (Get-Process Setup).Id } |
>>   Group-Object State |
>>   Sort Count -Descending

Count Name                      Group
----- ----                      -----
  366 Established               {MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65534??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65533??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65532??95.101.63.90??443"), MSFT_NetTCPConnection (InstanceID = "192.168.1.6??65531??95.101.63.90??443")...}
  366 Bound                     {MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65534??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65533??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65532??0.0.0.0??0"), MSFT_NetTCPConnection (InstanceID = "0.0.0.0??65531??0.0.0.0??0")...}

 

 

2) DNS Failures

 

Once concurrent connections exceed approximately 150–180, DNS resolution failures begin.

 

These failures persist until the Creative Cloud update is paused or completes, at which point DNS resolution immediately recovers.

 

PS C:\Users\xxxxxxxxxx> Resolve-DnsName example.com -ErrorAction Continue
Resolve-DnsName : example.com : This operation returned because the timeout period expired
At line:1 char:1
+ Resolve-DnsName example.com -ErrorAction Continue
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationTimeout: (example.com:String) [Resolve-DnsName], Win32Exception
    + FullyQualifiedErrorId : ERROR_TIMEOUT,Microsoft.DnsClient.Commands.ResolveDnsName

PS C:\Users\xxxxxxxxxx> Resolve-DnsName example.com -ErrorAction Continue
Resolve-DnsName : example.com : This operation returned because the timeout period expired
At line:1 char:1
+ Resolve-DnsName example.com -ErrorAction Continue
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationTimeout: (example.com:String) [Resolve-DnsName], Win32Exception
    + FullyQualifiedErrorId : ERROR_TIMEOUT,Microsoft.DnsClient.Commands.ResolveDnsName

PS C:\Users\xxxxxxxxxx> Resolve-DnsName example.com -ErrorAction Continue
Resolve-DnsName : example.com : This operation returned because the timeout period expired
At line:1 char:1
+ Resolve-DnsName example.com -ErrorAction Continue
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationTimeout: (example.com:String) [Resolve-DnsName], Win32Exception
    + FullyQualifiedErrorId : ERROR_TIMEOUT,Microsoft.DnsClient.Commands.ResolveDnsName

PS C:\Users\xxxxxxxxxx> Resolve-DnsName example.com -ErrorAction Continue
Resolve-DnsName : example.com : This operation returned because the timeout period expired
At line:1 char:1
+ Resolve-DnsName example.com -ErrorAction Continue
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationTimeout: (example.com:String) [Resolve-DnsName], Win32Exception
    + FullyQualifiedErrorId : ERROR_TIMEOUT,Microsoft.DnsClient.Commands.ResolveDnsName

 

Conclusion

 

The Creative Cloud updater uses extreme parallelism to maximise download speed, opening several hundred concurrent HTTPS connections. Once the WAN link is saturated, additional connections provide no throughput benefit but significantly degrade latency-sensitive traffic such as DNS.

 

This results in loss of interactive network usability on Windows systems during updates, particularly on non-gigabit WAN connections. While higher bandwidth reduces the impact window, it does not address the underlying design issue.

 

For comparison, Windows Update typically operates within 6–16 concurrent connections (rarely exceeding ~25), while remaining fully usable.

 

Recommendations

 

  1. Add a user-configurable “max connections” setting
  2. Add bandwidth throttling (total download cap)
  3. Implement adaptive backoff, reducing connection count once throughput plateaus

 

All of the above would significantly improve coexistence with other applications while preserving update reliability.