Jump to content

Recommended Posts

Posted (edited)

Not sure this is the right forum, please redirect to the relevant one if there is one.
We are getting complaints from our users that their site is not working.
Looking into it, we found out that the exception is being thrown from Kaspersky code, a file called `main.js`, in a function called `copyHeadersValue`

this is the stack trace:

"TypeError: value.toString is not a function\n at CopyHeadersValue (https://gc.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=fVzR6GWpTiGSWVNM_NZXCRQJPJp1YS83KyHeXrNEYHrQcGytgDBRQf_T4qtafYO_Naziog3E0EyHZxlIGcm0MLu9Fr9KBOeT6jziCBmpYyVCYk2_9sSSSNRBFLcbAlfU-1Cemzd9G8W-5q0a1FQt93BzjfgeI9I3JQLlMpPW7Af68xjJ8PD9XB4naOIJ2EXPuQ2Cq8YQIlPndkWTkJNbeQ:3742:15)\n at fetchCallImpl (https://gc.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=fVzR6GWpTiGSWVNM_NZXCRQJPJp1YS83KyHeXrNEYHrQcGytgDBRQf_T4qtafYO_Naziog3E0EyHZxlIGcm0MLu9Fr9KBOeT6jziCBmpYyVCYk2_9sSSSNRBFLcbAlfU-1Cemzd9G8W-5q0a1FQt93BzjfgeI9I3JQLlMpPW7Af68xjJ8PD9XB4naOIJ2EXPuQ2Cq8YQIlPndkWTkJNbeQ:3783:25)\n at fetch (https://gc.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=fVzR6GWpTiGSWVNM_NZXCRQJPJp1YS83KyHeXrNEYHrQcGytgDBRQf_T4qtafYO_Naziog3E0EyHZxlIGcm0MLu9Fr9KBOeT6jziCBmpYyVCYk2_9sSSSNRBFLcbAlfU-1Cemzd9G8W-5q0a1FQt93BzjfgeI9I3JQLlMpPW7Af68xjJ8PD9XB4naOIJ2EXPuQ2Cq8YQIlPndkWTkJNbeQ:3810:60)\n at https://static.parastorage.com/unpkg/@sentry/browser@5.30.0/build/bundle.min.js:2:14963\n

main.js is attached(without the signature): https : //file.io/hxWvagpw3sjZ

We checked it only with Kaspersky Free, but I guess it happens in more versions.

Edited by Berny
Posted

@nitzansi Welcome.

Please temporary disable ' Encrypted connections scan ' ?

Quote

" Scanning of encrypted connections is required to run the following protection components: Mail Anti-Virus, Safe Money, URL Advisor, Private Browsing, Safe Browsing, and Anti-Banner "

 

↓ " main.js is attached " ↓

Spoiler

main_js.thumb.jpg.8c1d9a7d18da37b31a84723c0a12280d.jpg



 

MA Cosgrove
Posted

We are having the same problem in our app. Lots of support requests coming in.

MA Cosgrove
Posted

@berny My support team is asking for instructions for users on how to change that Encrypted Connections Scan setting. I can't do that as I don't have Kaspersky myself. The page you linked to only described the setting without showing how to change it.  Can you provide some detailed instructions please.

  • Thanks 1
MA Cosgrove
Posted

My colleague has suggested:

Rather than disabling it globally, it sounds like you might be able to disable it for certain domains. Perhaps the users could contact Kaspersky directly or their orgs IT team for advice.
"If you do not want the application to verify an SSL connection with a website, you can add the website to the list of exclusions by clicking the Configure trusted addresses link."

Is this likely to work?

  • Like 1
  • Thanks 1
Flood and Flood's wife
Posted (edited)

My support team is asking for instructions for users on how to change that Encrypted Connections Scan setting. I can't do that as I don't have Kaspersky myself. The page you linked to only described the setting without showing how to change it.  Can you provide some detailed instructions please.

My colleague has suggested:

Rather than disabling it globally, it sounds like you might be able to disable it for certain domains. Perhaps the users could contact Kaspersky directly or their orgs IT team for advice.
"If you do not want the application to verify an SSL connection with a website, you can add the website to the list of exclusions by clicking the Configure trusted addresses link."

Is this likely to work?

Hello @MA Cosgrove

Thank you for posting back & the additional information!

To follow the suggestion by @Berny, select Security Settings, select Network Settings, *uncheck* Inject script into web traffic to interact with web pages, select Continue, select Save, select Confirm. Note: This will impact the correct operation of such components as Safe Money, Private Browsing, Anti-Banner, and URL Advisor & should be seen as a *test* only. 

To add an exclusion, select Security Settings, select Network Settings, select Configure trusted addresses, select Add - add the address/domain, select Add (again), select Save - READ: Allow and add domain to exclusions

image.thumb.png.87d2769894fd8e8529328deae9ae9fe5.png

image.thumb.png.47dc1c9f647ac4259112f7e0037653d8.png

image.thumb.png.cca59399379a2fc63087e33b571fd326.png

image.thumb.png.ab6d2453dacec7e91548b406152a1909.png

*IF* issues persist after adding exclusion/s please log a request with Kaspersky Customer Service, https://support.kaspersky.com/b2c#contacts  - on the support page, select either Chat or Email, then fill in the template as shown; select the Kaspersky application from the drop-down-list (A)

*Also* -> IF using Chat - ask the operator to email (you) a copy of the chat transcript *before* ending the chat - otherwise (you'll) have no record of the chat*

image.thumb.png.21fd8795dfd95b9723a8c2b15ac4c81d.png

Thank you🙏
Flood🐳+🐋

Edited by Flood and Flood's wife
added images
  • Thanks 1
Posted

Hey @Berny, I'm coming from a large company serving milions of users, it is really hard for them to identify the error is coming from kaspersky. This error started popping up around Nov 14th and I believe your dev team can apply a simple fix to work around it. This is a plain Javascript error which can easily be avoided.
How can I contact your dev team around that area of the application? 
Thanks 

Posted (edited)

While this is definitely a Kaspersky bug, we have taken precautions on the Apollo Client side to prevent this kind of buggy-Antivirus-caused problem a few months ago.

If you can (I know, it's a big ask to spontaneously do this to a production app), please try to update Apollo Client to at least version 3.11.8. (And please report back if it works if you do)

 

At Kaspersky: the fact that this can be patched doesn't take the pressure off of you - there are still hundreds of thousands of webpages using older versions of Apollo Client.
npm downloads for those old versions are > three million per week, and every one of those downloads can be built into a website. Please get this fixed ASAP.

Edited by phryneas
harlan4096
Posted

Additionally, if there is an Apollo Client exe or any kind of service involved, You can try to add an exclusion via Intrusion Prevention -> Manage Applications, search and find Apollo Client exe / services involved, edit their rules, and add an exclusion for encrypted connections. An example:

 

image.thumb.png.daf2172b0df5c66c5495276dd591c0f7.png

 

Just found, double click over the exe / services, then go to tab Exclusions, enable the check button as showed in the pic, and Save the rule, reboot the system and try again.

  • Like 1
Posted (edited)

@Bernymost of us are not customers of Kaspersky, but engineers of the companies whose websites you are currently breaking, so I'm not sure if we can even get in on customer service.

Please escalate this internally; this has a bigger impact than you assume right now.

Here is a list of Websites this affects: https : //trends.builtwith.com/websitelist/Apollo-GraphQL

 

@harlan4096 This is not affecting an executable, it's affecting hundreds of thousands of websites. The page I linked to above says something along the lines of 1.3 million websites and is likely incomplete.

Edited by Berny
  • Like 2
Igor Kurzin
Posted

@phryneas, can you please let me know an example of a website where  I can reproduce this problem?Namely, what are the steps to reproduce the error? Reproduction in-lab allows us to analyze and find fix quicker. 

@nitzansi, the issue occurs at wix.com? Can you tell me please the steps to reproduce on my end? 

@MA Cosgrove, same question, please provide instructions how to reproduce, if possible. 

Thank you. 

  • Like 3
Posted (edited)

Here is one of our CI builds that should still use an affected version: (I'm still setting up a VM to reproduce this myself, so I can't point to external websites - I don't know which version they are using)

https : //apollo-git-8b780d-apollo-client-next-package-integration-tests.vercel.app/cc/dynamic/useSuspenseQueryWithError

 

The bug: your `CopyHeadersValue` function is trying to call `headers.toString()`. `headers` in question is an object created via `Object.create(null)`, so it has no prototype and no `toString` function as a result. You have to call `Object.prototype.toString.call(headers)` instead.

Here is a piece of code reproducing the bug and the solution:

 

{
  const headers = Object.create(null)
  try {
    const value = headers.toString()
    console.log(value)
  } catch (e) {
    console.error("accessing `headers.toString()` does not work: ", e)
  }
  const value = Object.prototype.toString.call(headers)
  console.log("this worked: ", value)
}

 

@Igor Kurzin forgot to tag you - please see the message above

Edited by phryneas
  • Like 1
Igor Kurzin
Posted

@phryneas, thanks for the information, we are checking. Will keep you updated. 

  • Like 4
Posted

@phryneas I'm working on updating our apollo client version, will update ASAP
@Igor Kurzin please provide me your email and I'll be able to create the scenario for you, it is a bit complicated to get to the specific failing flow.

  • Like 2
Igor Kurzin
Posted

@nitzansi, pm'ed the email, thanks much! 

  • Like 1
MA Cosgrove
Posted
20 hours ago, Igor Kurzin said:

@phryneas, can you please let me know an example of a website where  I can reproduce this problem?Namely, what are the steps to reproduce the error? Reproduction in-lab allows us to analyze and find fix quicker. 

@nitzansi, the issue occurs at wix.com? Can you tell me please the steps to reproduce on my end? 

@MA Cosgrove, same question, please provide instructions how to reproduce, if possible. 

Thank you. 

Create a free trial account at https://app.covidence.org/ on a machine with Kaspersky installed, and try to create a new review.

  • Thanks 1
Igor Kurzin
Posted

@MA Cosgrove, what is the expected and actual result? In my test nothing happens with I click "Create review" button (see attached screenshot). Is this the issue? 

image.png

  • Like 2
Posted

Yesterday evening I finally managed to set up a VM that would actually run Kaspersky, visited the page I linked above and immediately got this:

Unfortunately, at that point I called it quits and this morning, I seem I can't reproduce the problem anymore.
I'm still investigating, it might be a cache thing that prevents it from happening a second time.

image.png

Seems to be a cache thing, but I can reproduce it on a random website:

Go e.g. to example.com and execute this in the devtools:

    const headers = Object.create(null)
    headers.foo = "bar";
    fetch("/", {headers})

 

image.thumb.png.7eae19f18b410cf1b042e648db1a3fcd.png

@Igor Kurzin the error is cause by https://me.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=TTtVSzJmXF0BU9K9voTozInYCUlc64TEB1JqU8bGAhRBcBEl_QdI75iTvatoPOJu line 3026:

 

image.thumb.png.dd363ec112373115528eaa2b10048b86.png

  • Thanks 1
Igor Kurzin
Posted

@phryneas

Quote

this morning, I seem I can't reproduce the problem anymore

Try reproducing in browser incognito mode, how will it go? (Via File -> New Incognito Window). 

thanks for the information, passed over to developers. 

Posted

Can confirm, the problem reappears in Edges "InPrivate" mode

  • Thanks 1
Igor Kurzin
Posted
15 minutes ago, phryneas said:

Can confirm, the problem reappears in Edges "InPrivate" mode

That's what I expected, thank you for checking. 

Posted

@phryneas, the issue will be fixed for all websites in the next product version 21.20., which is expected end of January/start of February 2025. 

@nitzansithe issue with wix.com has been fixed via a workaround in bases. Customers need to update databases to apply the fix. 

  • Like 3

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...