Edge 117 Audit
Security Software VulnerabilityAudit All Outdated Firefox Installations in Your Network
On the 26th of September, 2023 Mozilla released its new versions of Firefox 118, and Firefox ESR 115.3. These releases contain multiple changes with additional functionality and security fixes. New features, fixes, and changes in Firefox 118, as listed on Mozilla’s release page include the following:
- Automated translation of web content! Translation is done locally in Firefox so that the text being translated does not leave your machine.
- Web Audio in Firefox now uses the FDLIBM math library on all systems to improve anonymity with Fingerprint Protection.
- The visibility of fonts to websites has been restricted to system fonts and language pack fonts. This is to mitigate font fingerprinting in Private Browsing windows.
- Video Effects and background blur are now available on Google Meet! These effects have also been released retroactively to support Firefox versions back to Firefox 115.
- Firefox Suggest users (US-only at this time) will now be able to see browser add-on suggestions right in the address bar based on their keywords.
As always, the new releases also come with a number of security fixes, 9 in Firefox 118 and 5 in Firefox ESR 115.3. 6 of these issues received a high severity rating, Including 2 out-of-bounds write issues, a memory leak, a use-after-free and memory corruption issue, and memory safety bugs.
You can use the audit report below to find out which machines in your network still need to update their Mozilla Firefox version. It will show you exactly which machines are not running the latest version of Firefox or Firefox ESR yet. Go ahead and start running your Firefox audit.
Run the Mozilla Firefox 118 and Firefox ESR 115.3 Audit Now!
Firefox 118, and Firefox ESR 115.3 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, tblSoftwareUni.softwareName As Software, tblSoftware.softwareVersion As Version, tblSoftwareUni.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, tblAssets.Lasttried 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 tblSoftware On tblAssets.AssetID = tblSoftware.AssetID Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID 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 tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.SoftwarePublisher Like '%mozilla%' And tblState.Statename = 'Active' And ((Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 1 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) < 118) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 1 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) = 118 And Cast(ParseName(tblSoftware.softwareVersion, 1) As bigint) < 0) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 2 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) < 118) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 2 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 118 And Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) < 0) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 2 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 118 And Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) = 0 And Cast(ParseName(tblSoftware.softwareVersion, 1) As bigint) < 0) Or (tblSoftwareUni.softwareName Like '%firefox%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) < 115) Or (tblSoftwareUni.softwareName Like '%firefox%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 115 And Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) < 3) Or (tblSoftwareUni.softwareName Like '%firefox%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 115 And Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) = 3 And Cast(ParseName(tblSoftware.softwareVersion, 1) As bigint) < 0) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 3 And tblSoftwareUni.softwareName Like '%firefox%' And Cast(ParseName(tblSoftware.softwareVersion, 4) As bigint) < 118) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 3 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 4) As bigint) = 118 And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) < 0) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 3 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Cast(ParseName(tblSoftware.softwareVersion, 4) As bigint) = 118 And Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 0 And Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) < 0)) Union Select Top 1000000 tblAssets.AssetID, tblAssets.AssetName, tblAssets.Domain, tsysAssetTypes.AssetTypename As AssetType, tblAssets.Username, tblAssets.Userdomain, tsysAssetTypes.AssetTypeIcon10 As icon, tblAssets.IPAddress, Case When subquery1.Software Like '%firefox%' And (Cast(ParseName(tblMacApplications.Version, 3) As bigint) = 115 And Cast(ParseName(tblMacApplications.Version, 2) As bigint) < 3) Or (Cast(ParseName(tblMacApplications.Version, 3) As bigint) < 115) Then 'firefox (Possible ESR)' Else subquery1.Software End As Software, subquery1.Version, subquery1.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 tblSoftwareUni.softwareName As Software, tblSoftwareUni.SoftwarePublisher As Publisher, tblMacApplications.AssetID, Case When tblMacApplications.Version Like '%R%' Then Left(tblMacApplications.Version, CharIndex('R', tblMacApplications.Version) - 1) Else tblMacApplications.Version End As Version From tblMacApplications Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblMacApplications.softid Where tblSoftwareUni.softwareName Like '%firefox%') As subquery1 On subquery1.AssetID = tblAssets.AssetID Inner Join tblMacApplications On tblAssets.AssetID = tblMacApplications.AssetID Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblMacApplications.softid 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 tblSoftwareUni.softwareName Like '%firefox%' And tblState.Statename = 'Active' And ((Cast(ParseName(subquery1.Version, 3) As bigint) < 118) Or (Cast(ParseName(subquery1.Version, 3) As bigint) = 118 And Cast(ParseName(subquery1.Version, 2) As bigint) < 0) Or (Cast(ParseName(subquery1.Version, 3) As bigint) = 118 And Cast(ParseName(subquery1.Version, 2) As bigint) = 0 And Cast(ParseName(subquery1.Version, 1) As bigint) < 0)) 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 tblLinuxSystem.OSRelease Like '%Ubuntu%' And tblSoftwareUni.softwareName Not Like '%esr%' And tblLinuxSoftware.Version Like '%+%' And tblLinuxSoftware.Version Like '%.%.%[^0-9]%' Then Left(tblLinuxSoftware.Version, CharIndex('+', tblLinuxSoftware.Version) - 1) When tblLinuxSystem.OSRelease Like '%Ubuntu%' And tblSoftwareUni.softwareName Like '%esr%' And tblLinuxSoftware.Version Like '%+%' And tblLinuxSoftware.Version Like '%.%.%[^0-9]%' Then Left(tblLinuxSoftware.Version, CharIndex('+', tblLinuxSoftware.Version) - 4) When tblLinuxSystem.OSRelease Like '%manjaro%' And tblSoftwareUni.softwareName Not Like '%esr%' And tblLinuxSoftware.Version Like '%-%' And tblLinuxSoftware.Version Like '%.%.%[^0-9]%' Then Left(tblLinuxSoftware.Version, CharIndex('-', tblLinuxSoftware.Version) - 1) When tblLinuxSystem.OSRelease Like '%manjaro%' And tblSoftwareUni.softwareName Like '%esr%' And tblLinuxSoftware.Version Like '%-%' And tblLinuxSoftware.Version Like '%.%.%[^0-9]%' Then Left(tblLinuxSoftware.Version, CharIndex('-', tblLinuxSoftware.Version) - 1) When tblLinuxSystem.OSRelease Like '%manjaro%' And tblSoftwareUni.softwareName Like '%esr%' And tblLinuxSoftware.Version Like '%esr-%' And tblLinuxSoftware.Version Like '%.%.%[^0-9]%' Then Left(tblLinuxSoftware.Version, CharIndex('-', tblLinuxSoftware.Version) - 4) When tblLinuxSystem.OSRelease Like '%debian%' And tblSoftwareUni.softwareName Not Like '%esr%' And tblLinuxSoftware.Version Like '%-%' And tblLinuxSoftware.Version Like '%.%.%[^0-9]%' Then Left(tblLinuxSoftware.Version, CharIndex('-', tblLinuxSoftware.Version) - 1) When tblLinuxSystem.OSRelease Like '%debian%' And tblSoftwareUni.softwareName Like '%esr%' And tblLinuxSoftware.Version Like '%-%' And tblLinuxSoftware.Version Like '%.%.%[^0-9]%' Then Left(tblLinuxSoftware.Version, CharIndex('-', tblLinuxSoftware.Version) - 4) Else tblLinuxSoftware.Version End As Version From tblLinuxSoftware Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblLinuxSoftware.SoftwareUniID Inner Join tblLinuxSystem On tblLinuxSoftware.AssetID = tblLinuxSystem.AssetID Where tblSoftwareUni.softwareName In ('firefox', 'MozillaFirefox', 'firefox-esr')) 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 In ('firefox', 'MozillaFirefox', 'firefox-esr') And tblState.Statename = 'Active' And ((Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Not Like '%esr%' And Cast(ParseName(subquery1.Version, 3) As bigint) < 118) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Not Like '%esr%' And Cast(ParseName(subquery1.Version, 3) As bigint) = 118 And Cast(ParseName(subquery1.Version, 2) As bigint) < 0) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Not Like '%esr%' And Cast(ParseName(subquery1.Version, 3) As bigint) = 118 And Cast(ParseName(subquery1.Version, 2) As bigint) = 0 And Cast(ParseName(subquery1.Version, 1) As bigint) < 0) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 1 And subquery1.Software Like '%firefox%' And subquery1.Software Not Like '%esr%' And Cast(ParseName(subquery1.Version, 2) As bigint) < 118) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 1 And subquery1.Software Like '%firefox%' And subquery1.Software Not Like '%esr%' And Cast(ParseName(subquery1.Version, 2) As bigint) = 118 And Cast(ParseName(subquery1.Version, 1) As bigint) < 0) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Like '%esr%' And Cast(ParseName(subquery1.Version, 3) As bigint) < 115) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Like '%esr%' And Cast(ParseName(subquery1.Version, 3) As bigint) = 115 And Cast(ParseName(subquery1.Version, 2) As bigint) < 3) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Like '%esr%' And Cast(ParseName(subquery1.Version, 3) As bigint) = 115 And Cast(ParseName(subquery1.Version, 2) As bigint) = 3 And Cast(ParseName(subquery1.Version, 1) As bigint) < 0) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 1 And subquery1.Software Like '%firefox%' And subquery1.Software Like '%esr%' And Cast(ParseName(subquery1.Version, 2) As bigint) < 115) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 1 And subquery1.Software Like '%firefox%' And subquery1.Software Like '%esr%' And Cast(ParseName(subquery1.Version, 2) As bigint) = 115 And Cast(ParseName(subquery1.Version, 1) As bigint) < 3)) Order By Domain, AssetName, Software