Firefox · DOM
CVE-2026-2774
Integer Overflow in DOM
Overview
High
Severity
—
CVSS
No
Exploited ITW
Fixed
Fix Status
Changed Functions
| Function | Change | Notes |
|---|---|---|
fordom/media/webm/WebMDemuxer.cpp |
modified | |
ifdom/media/webm/WebMDemuxer.cpp |
modified |
Files Changed
dom/media/webm/WebMDemuxer.cpp
Patch
diff --git a/dom/media/webm/WebMDemuxer.cpp b/dom/media/webm/WebMDemuxer.cpp
index 779f0d42211..ed1718862be 100644
--- a/dom/media/webm/WebMDemuxer.cpp
+++ b/dom/media/webm/WebMDemuxer.cpp
@@ -925,6 +925,12 @@ nsresult WebMDemuxer::GetNextPacket(TrackInfo::TrackType aType,
for (uint8_t i = 0; i < numPartitions; i++) {
uint32_t partition = partitions[i];
+ if (partition > length || partition < lastOffset) {
+ WEBM_DEBUG(
+ "Invalid partition offset: %u (length: %zu, lastOffset: %u)",
+ partition, length, lastOffset);
+ return NS_ERROR_DOM_MEDIA_DEMUXER_ERR;
+ }
uint32_t currentLength = partition - lastOffset;
if (encrypted) {
@@ -935,8 +941,6 @@ nsresult WebMDemuxer::GetNextPacket(TrackInfo::TrackType aType,
encrypted = !encrypted;
lastOffset = partition;
-
- MOZ_ASSERT(lastOffset <= length);
}
// Add the data between the last offset and the end of the data.
Loading diff…
References
On This Page