Firefox 121 and Firefox ESR 115.6 Audit
Security Software VulnerabilityAudit All Outdated Firefox Installations in Your Network
On the 19th of December, 2023 Mozilla released its new versions of Firefox 121, and Firefox ESR 115.6. These releases contain multiple changes with additional functionality and security fixes. New features, fixes, and changes in Firefox 121, as listed on Mozilla’s release page are as follows:
- Firefox now prompts Windows users to install the Microsoft AV1 Video Extension to enable hardware decoding support for the AV1 video codec from
about:support
if not already installed. - Firefox 121 supports Voice Control commands on macOS systems.
- On Linux, Firefox now defaults to the Wayland compositor when available instead of XWayland. This brings support for touchpad & touchscreen gestures, swipe-to-nav, per-monitor DPI settings, better graphics performance, and more.
- Firefox 121 can force links to always be underlined. This option can be enabled in the Browsing section of the Firefox Settings menu.
- The PDF viewer now includes a floating button to simplify deleting drawings, text, and images added in PDFs.
As always, the new releases also come with several security fixes, 18 in Firefox 121 and 11 in Firefox ESR 115.6. 5 of these issues received a high severity rating:
- CVE-2023-6856: Heap-buffer-overflow affecting WebGL DrawElementsInstanced method with Mesa VM driver
- CVE-2023-6865: Potential exposure of uninitialized data in EncryptingOutputStream
- CVE-2023-6864: Memory safety bugs fixed in Firefox 121, Firefox ESR 115.6, and Thunderbird 115.6
- CVE-2023-6873: Memory safety bugs fixed in Firefox 121
- CVE-2023-6135: NSS susceptible to “Minerva” attack
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 121 and Firefox ESR 115.6 Audit Now!
Firefox 121 and Firefox ESR 115.6 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 Try_Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) < 121) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 1 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Try_Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) = 121 And Try_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 Try_Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) < 121) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 2 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Try_Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 121 And Try_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 Try_Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 121 And Try_Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) = 0 And Try_Cast(ParseName(tblSoftware.softwareVersion, 1) As bigint) < 0) Or (tblSoftwareUni.softwareName Like '%firefox%esr%' And Try_Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) < 115) Or (tblSoftwareUni.softwareName Like '%firefox%esr%' And Try_Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 115 And Try_Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) < 6) Or (tblSoftwareUni.softwareName Like '%firefox%esr%' And Try_Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 115 And Try_Cast(ParseName(tblSoftware.softwareVersion, 2) As bigint) = 6 And Try_Cast(ParseName(tblSoftware.softwareVersion, 1) As bigint) < 0) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 3 And tblSoftwareUni.softwareName Like '%firefox%' And Try_Cast(ParseName(tblSoftware.softwareVersion, 4) As bigint) < 121) Or (Len(tblSoftware.softwareVersion) - Len(Replace(tblSoftware.softwareVersion, '.', '')) = 3 And tblSoftwareUni.softwareName Like '%firefox%' And tblSoftwareUni.softwareName Not Like '%esr%' And Try_Cast(ParseName(tblSoftware.softwareVersion, 4) As bigint) = 121 And Try_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 Try_Cast(ParseName(tblSoftware.softwareVersion, 4) As bigint) = 121 And Try_Cast(ParseName(tblSoftware.softwareVersion, 3) As bigint) = 0 And Try_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 (Try_Cast(ParseName(tblMacApplications.Version, 3) As bigint) = 115 And Try_Cast(ParseName(tblMacApplications.Version, 2) As bigint) < 6) Or (Try_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 ((Try_Cast(ParseName(subquery1.Version, 3) As bigint) < 121) Or (Try_Cast(ParseName(subquery1.Version, 3) As bigint) = 121 And Try_Cast(ParseName(subquery1.Version, 2) As bigint) < 0) Or (Try_Cast(ParseName(subquery1.Version, 3) As bigint) = 121 And Try_Cast(ParseName(subquery1.Version, 2) As bigint) = 0 And Try_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 Try_Cast(ParseName(subquery1.Version, 3) As bigint) < 121) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Not Like '%esr%' And Try_Cast(ParseName(subquery1.Version, 3) As bigint) = 121 And Try_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 Try_Cast(ParseName(subquery1.Version, 3) As bigint) = 121 And Try_Cast(ParseName(subquery1.Version, 2) As bigint) = 0 And Try_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 Try_Cast(ParseName(subquery1.Version, 2) As bigint) < 121) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 1 And subquery1.Software Like '%firefox%' And subquery1.Software Not Like '%esr%' And Try_Cast(ParseName(subquery1.Version, 2) As bigint) = 121 And Try_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 Try_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 Try_Cast(ParseName(subquery1.Version, 3) As bigint) = 115 And Try_Cast(ParseName(subquery1.Version, 2) As bigint) <6) Or (Len(subquery1.Version) - Len(Replace(subquery1.Version, '.', '')) = 2 And subquery1.Software Like '%firefox%' And subquery1.Software Like '%esr%' And Try_Cast(ParseName(subquery1.Version, 3) As bigint) = 115 And Try_Cast(ParseName(subquery1.Version, 2) As bigint) = 6 And Try_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 Try_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 Try_Cast(ParseName(subquery1.Version, 2) As bigint) = 115 And Try_Cast(ParseName(subquery1.Version, 1) As bigint) < 6)) Order By Domain, AssetName, Software