Chrome 111 Audit

Find Outdated Chrome Installations

On March 7th, Google released Chrome 111 for Windows, Linux, and Mac. In this release, Google fixed 40 security issues and added additional features. The new features include:

  • Privacy Sandbox updates
  • PPB_VideoDecoder(Dev) API has been removed since Adobe Flash is no longer supported in Chrome
  • New Chrome sync dialog in Chrome for Desktop
  • Payment Handler API requires CSP connect-src
  • Out-of-process System DNS Resolution.
  • Azure AD single sign-on (SSO)
  • Web speech recognition API on iOS
  • Chrome updater on Windows and Mac serves the most recent 12 versions
  • Policy name changes
  • Chrome Browser Cloud Management subscription

More details on all of these features can be found on the Chrome Status page. As always, Google takes its time with putting out a larger blog post covering the most important changes however, you can find a very brief summary on the Chrome release page.

With the report below, you can easily find which computers in your network do not have this latest Chrome version installed. Simply run the report to get a complete overview of your environment.

Chrome 111 Lansweeper Classic Query

Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tsysAssetTypes.AssetTypename As AssetType,
tblAssets.Username,
tblAssets.Userdomain,
Coalesce(tsysOS.Image, tsysAssetTypes.AssetTypeIcon10) As icon,
tblAssets.IPAddress,
Software.softwareName As Software,
Software.softwareVersion As Version,
Software.SoftwarePublisher As Publisher,
tsysIPLocations.IPLocation,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
Coalesce(tsysOS.OSname, tblSccmAsset.OsCaption,
tblSccmAsset.OperatingSystemNameandVersion) As OS,
tblAssets.Version As OSVersion,
Case
When tblErrors.ErrorText Is Not Null Or
tblErrors.ErrorText != '' Then
'Scanning Error: ' + tsysasseterrortypes.ErrorMsg
Else ''
End As ScanningErrors,
tblAssets.Lastseen As [Last successful scan],
tblAssets.Lasttried As [Last scan attempt]
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID =
tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
left join (
select assetid,
softwareName,
softwareVersion,
Case when tblSoftwareUni.softwareName Like '%Google Chrome%' and ((Cast(ParseName(tblsoftware.softwareVersion,
4) As int) < 111) Or (Cast(ParseName(tblsoftware.softwareVersion,
4) As int) = 111 And Cast(ParseName(tblsoftware.softwareVersion,
2) As int) < 5563) Or (Cast(ParseName(tblsoftware.softwareVersion,
4) As int) = 111 And Cast(ParseName(tblsoftware.softwareVersion,
2) As int) = 5563 And Cast(ParseName(tblsoftware.softwareVersion,
1) As int) < 64)) then 1 else 0
end as [out of date],
SoftwarePublisher
from tblsoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
where tblSoftwareUni.softwareName Like '%Google Chrome%' And
tblSoftwareUni.SoftwarePublisher Like '%Google%'
) as Software on software.AssetID = tblassets.AssetID
Left Outer Join tsysOS On tsysOS.OScode = tblAssets.OScode
Left Outer Join tblSccmAsset On tblAssets.AssetID = tblSccmAsset.AssetId
Left Join (Select Distinct Top 1000000 tblErrors.AssetID As ID,
Max(tblErrors.Teller) As ErrorID
From tblErrors
Group By tblErrors.AssetID) As ScanningError On tblAssets.AssetID =
ScanningError.ID
Left Join tblErrors On ScanningError.ErrorID = tblErrors.Teller
Left Join tsysasseterrortypes On tsysasseterrortypes.Errortype =
tblErrors.ErrorType
Where Software.softwareName Like '%Google Chrome%' And
Software.SoftwarePublisher Like '%Google%' And tblState.Statename =
'Active' And software.[out of date] = 1
Union
Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tsysAssetTypes.AssetTypename As AssetType,
tblAssets.Username,
tblAssets.Userdomain,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.IPAddress,
Software.softwareName As Software,
Software.Version As Version,
Software.SoftwarePublisher As Publisher,
tsysIPLocations.IPLocation,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tblMacOSInfo.SystemVersion As OS,
tblAssets.Version As OSVersion,
Case
When tblErrors.ErrorText Is Not Null Or
tblErrors.ErrorText != '' Then
'Scanning Error: ' + tsysasseterrortypes.ErrorMsg
Else ''
End As ScanningErrors,
tblAssets.Lastseen As [Last successful scan],
tblAssets.Lasttried As [Last scan attempt]
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID =
tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
left join (
select assetid,
softwareName,
Version,
Case when tblSoftwareUni.softwareName Like '%Google Chrome%' and ((Cast(ParseName(tblMacApplications.Version,
4) As int) < 111) Or (Cast(ParseName(tblMacApplications.Version,
4) As int) = 111 And Cast(ParseName(tblMacApplications.Version,
2) As int) < 5563) Or (Cast(ParseName(tblMacApplications.Version,
4) As int) = 111 And Cast(ParseName(tblMacApplications.Version,
2) As int) = 5563 And Cast(ParseName(tblMacApplications.Version,
1) As int) < 64)) then 1 else 0
end as [out of date],
SoftwarePublisher
from tblMacApplications
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblMacApplications.softid
where tblSoftwareUni.softwareName Like '%Google Chrome%'
) as Software on software.AssetID = tblassets.AssetID
Inner Join tblMacOSInfo On tblMacOSInfo.AssetID = tblAssets.AssetID
Left Join (Select Distinct Top 1000000 tblErrors.AssetID As ID,
Max(tblErrors.Teller) As ErrorID
From tblErrors
Group By tblErrors.AssetID) As ScanningError On tblAssets.AssetID =
ScanningError.ID
Left Join tblErrors On ScanningError.ErrorID = tblErrors.Teller
Left Join tsysasseterrortypes On tsysasseterrortypes.Errortype =
tblErrors.ErrorType
Where Software.softwareName Like '%Google Chrome%' And
tblState.Statename = 'Active' and software.[out of date] = 1
Union
Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tsysAssetTypes.AssetTypename As AssetType,
tblLinuxUser.UserName,
tblAssets.Userdomain,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.IPAddress,
subquery1.Software,
subquery1.Version,
subquery1.Publisher,
tsysIPLocations.IPLocation,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tblLinuxSystem.OSRelease As OS,
tblAssets.Version As OSVersion,
Case
When tblErrors.ErrorText Is Not Null Or
tblErrors.ErrorText != '' Then
'Scanning Error: ' + tsysasseterrortypes.ErrorMsg
Else ''
End As ScanningErrors,
tblAssets.Lastseen As [Last successful scan],
tblAssets.Lasttried As [Last scan attempt]
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID =
tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
Inner Join tblLinuxSystem On tblAssets.AssetID = tblLinuxSystem.AssetID
Inner Join tblLinuxUser On tblAssets.AssetID = tblLinuxUser.AssetID
Inner Join tblLinuxUserLogon On tblLinuxUserLogon.Id = tblLinuxUser.id
Inner Join (Select tblLinuxUser.AssetId,
Max(tblLinuxUserLogon.LogonTime) As MaxLogontime
From tblLinuxUser
Inner Join tblLinuxUserLogon On tblLinuxUserLogon.Id = tblLinuxUser.id
Group By tblLinuxUser.assetid) As subquery2 On subquery2.MaxLogontime =
tblLinuxUserLogon.LogonTime
Inner Join (Select tblSoftwareUni.softwareName As Software,
tblSoftwareUni.SoftwarePublisher As Publisher,
tblLinuxSoftware.LastChanged,
tblLinuxSoftware.assetid,
Case
When tblLinuxSoftware.Version Like '%-%' Then
Left(tblLinuxSoftware.Version, CharIndex('-',
tblLinuxSoftware.Version) - 1)
When tblLinuxSoftware.Version Like '%R%' Then
Left(tblLinuxSoftware.Version, CharIndex('R',
tblLinuxSoftware.Version) - 1)
Else tblLinuxSoftware.Version
End As Version
From tblLinuxSoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID =
tblLinuxSoftware.SoftwareUniID
Where tblSoftwareUni.softwareName = 'google-chrome-stable') As subquery1 On
subquery1.assetid = tblAssets.assetid
Left Join (Select Distinct Top 1000000 tblErrors.AssetID As ID,
Max(tblErrors.Teller) As ErrorID
From tblErrors
Group By tblErrors.AssetID) As ScanningError On tblAssets.AssetID =
ScanningError.ID
Left Join tblErrors On ScanningError.ErrorID = tblErrors.Teller
Left Join tsysasseterrortypes On tsysasseterrortypes.Errortype =
tblErrors.ErrorType
Where subquery1.Software = 'google-chrome-stable' And tblState.Statename =
'Active' And ((Cast(ParseName(subquery1.Version, 4) As int) < 111) Or
(Cast(ParseName(subquery1.Version, 4) As int) = 111 And
Cast(ParseName(subquery1.Version, 2) As int) < 5563) Or
(Cast(ParseName(subquery1.Version, 4) As int) = 111 And
Cast(ParseName(subquery1.Version, 2) As int) = 5563 And
Cast(ParseName(subquery1.Version, 1) As int) < 64))
Order By Domain,
AssetName,
Software

Google Chrome 111 CVE Codes

SeverityCVEDescription
HighCVE-2023-1213Use after free in Swiftshader.
HighCVE-2023-1214Type Confusion in V8.
HighCVE-2023-1215Type Confusion in CSS.
HighCVE-2023-1216Use after free in DevTools.
HighCVE-2023-1217Stack buffer overflow in Crash reporting.
HighCVE-2023-1218Use after free in WebRTC.
HighCVE-2023-1219Heap buffer overflow in Metrics.
HighCVE-2023-1220Heap buffer overflow in UMA.
MediumCVE-2023-1221Insufficient policy enforcement in Extensions API.
MediumCVE-2023-1222Heap buffer overflow in Web Audio API.
MediumCVE-2023-1223Insufficient policy enforcement in Autofill.
MediumCVE-2023-1224nsufficient policy enforcement in Web Payments API.
MediumCVE-2023-1225Insufficient policy enforcement in Navigation.
MediumCVE-2023-1226Insufficient policy enforcement in Web Payments API.
MediumCVE-2023-1227Use after free in Core.
MediumCVE-2023-1228Insufficient policy enforcement in Intents.
MediumCVE-2023-1229Inappropriate implementation in Permission prompts.
MediumCVE-2023-1230Inappropriate implementation in WebApp Installs.
MediumCVE-2023-1231Inappropriate implementation in Autofill.
LowCVE-2023-1232Insufficient policy enforcement in Resource Timing.
LowCVE-2023-1233Insufficient policy enforcement in Resource Timing.
LowCVE-2023-1234Type Confusion in DevTools.
LowCVE-2023-1235Inappropriate implementation in Internals.
LowCVE-2023-1236Inappropriate implementation in Internals.

Audit and Take Action in 3 Easy Steps

Download-Install-Lansweeper

1. Download & Install Lansweeper

Save-and-Run-the-Report

3. Run the Audit & Take Action

Download Lansweeper to Run this Audit