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.
Insufficient policy enforcement in Extensions API.
Medium
CVE-2023-1222
Heap buffer overflow in Web Audio API.
Medium
CVE-2023-1223
Insufficient policy enforcement in Autofill.
Medium
CVE-2023-1224
nsufficient policy enforcement in Web Payments API.
Medium
CVE-2023-1225
Insufficient policy enforcement in Navigation.
Medium
CVE-2023-1226
Insufficient policy enforcement in Web Payments API.
Medium
CVE-2023-1227
Use after free in Core.
Medium
CVE-2023-1228
Insufficient policy enforcement in Intents.
Medium
CVE-2023-1229
Inappropriate implementation in Permission prompts.
Medium
CVE-2023-1230
Inappropriate implementation in WebApp Installs.
Medium
CVE-2023-1231
Inappropriate implementation in Autofill.
Low
CVE-2023-1232
Insufficient policy enforcement in Resource Timing.
Low
CVE-2023-1233
Insufficient policy enforcement in Resource Timing.
Low
CVE-2023-1234
Type Confusion in DevTools.
Low
CVE-2023-1235
Inappropriate implementation in Internals.
Low
CVE-2023-1236
Inappropriate implementation in Internals.
Google Chrome 111 CVE Codes
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