Chrome 118 Audit
Security VulnerabilityFind Outdated Chrome Installations
On October 5th, Google released Chrome 118 for Windows, Linux, and Mac. This release includes fixes for 20 security issues as well as added features and updates. The new features and updates include:
- Chrome has removed the ForceMajorVersionToMinorPositionInUserAgent policy.
- Remotely disable malicious off-store extensions when Enhanced Safe Browsing is enabled.
- The RendererCodeIntegrityEnabled policy has been removed. The Renderer Code Integrity security feature is now switched on by default.
- Support for passkeys in iCloud Keychain on macOS.
- Hash-prefix real-time lookups. For standard Safe Browsing protection users, visited URLs now have their safety checked in real-time.
- Updates to the red Safe Browsing interstitials.
- Form controls support vertical writing mode.
- Block all cookies set via JavaScript that contain control characters.
- Clearer Safe Browsing protection level settings text and images.
- WebUSB in Extension Service Workers.
- Include chrome.tabs API calls in extension telemetry reports.
- Remove non-standard appearance keywords.
- Enrollment for Privacy Sandbox.
- Discounts are shown on product pages and on Quests on the New tab page.
- Encrypted archive deep scanning for Enhanced Safe Browsing users.
- Flag for enabling the chrome://policy/test page.
- TLS Encrypted Client Hello (ECH).
More details on and a complete list of 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 of the Chrome 118 release 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.
Run the Google Chrome 118 Audit Now!
Chrome 118 Lansweeper On-Prem 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 tblsoftware.assetid, tblSoftwareUni.softwareName, tblsoftware.softwareVersion, Case When tblSoftwareUni.softwareName Like '%Google Chrome%' And ((Cast(ParseName(tblsoftware.softwareVersion, 4) As int) < 118) Or (Cast(ParseName(tblsoftware.softwareVersion, 4) As int) = 118 And Cast(ParseName(tblsoftware.softwareVersion, 2) As int) < 5993) Or (Cast(ParseName(tblsoftware.softwareVersion, 4) As int) = 118 And Cast(ParseName(tblsoftware.softwareVersion, 2) As int) = 5993 And Cast(ParseName(tblsoftware.softwareVersion, 1) As int) < 70)) Then 1 Else 0 End As [out of date], tblSoftwareUni.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 tblMacApplications.assetid, tblSoftwareUni.softwareName, tblMacApplications.Version, Case When tblSoftwareUni.softwareName Like '%Google Chrome%' And ((Cast(ParseName(tblMacApplications.Version, 4) As int) < 118) Or (Cast(ParseName(tblMacApplications.Version, 4) As int) = 118 And Cast(ParseName(tblMacApplications.Version, 2) As int) < 5993) Or (Cast(ParseName(tblMacApplications.Version, 4) As int) = 118 And Cast(ParseName(tblMacApplications.Version, 2) As int) = 5993 And Cast(ParseName(tblMacApplications.Version, 1) As int) < 70)) Then 1 Else 0 End As [out of date], tblSoftwareUni.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) < 118) Or (Cast(ParseName(subquery1.Version, 4) As int) = 118 And Cast(ParseName(subquery1.Version, 2) As int) < 5993) Or (Cast(ParseName(subquery1.Version, 4) As int) = 118 And Cast(ParseName(subquery1.Version, 2) As int) = 5993 And Cast(ParseName(subquery1.Version, 1) As int) < 70)) Order By Domain, AssetName, Software