BlackTreeCVE Intelligence
← Back to the CVE catalogue
Full vulnerability report · 2024
CVE-2024-47606High confidence

GHSL-2024-166: GStreamer Integer overflows in MP4/MOV demuxer and memory allocator that can lead to out-of-bounds writes

gstreamer · gstreamer

8.6HighCVSS 4.0
Recommended action
Within 7 days

High technical severity; prioritise exposed affected systems while verifying vendor guidance.

Patch available
R
Operational reassessment

Published severity in operational context

Open reassessment dashboard →
Published severityHighOperational priority:High, unchanged from published severity.unchanged

Evidence used

  • No CISA KEV confirmation is currently recorded.
  • EPSS is 1.36% for the current model date.

Compensating controls

  • Validate the affected product branch and deploy the verified fixed release.
  • Restrict local access and enforce least privilege on affected hosts.
  • Monitor vendor guidance and exploitation sources for a material change.

Verification

  1. Confirm that the asset runs gstreamer gstreamer and falls inside the recorded affected range.
  2. Verify the installed build against the product-specific fixed version after deployment.
  3. Validate exposure, authentication requirements and compensating controls in the actual environment.
  4. Reopen this reassessment when CVSS, KEV, EPSS, exploit evidence or remediation changes.
Mitigation target: Within 30 daysRemediation target: Within 180 days

This automated reassessment organises public evidence. It does not know asset exposure, business impact or control effectiveness and does not replace CVSS or a human risk decision.

Distribution package intelligence

Release-specific package status

Alpine, Debian, ubuntu findings are scoped to the named distribution, release and source package. An absent finding does not mean a package is unaffected.

13 package states
Repository candidate not checked

A published vendor fix does not prove that a matching update is enabled and installable on a particular asset. Confirm the local package candidate before scheduling remediation.

Distribution releaseSource packageVendor stateFixed versionEvidence
Alpine v3.23v3.23 · communitygst-plugins-goodVendor fix publishedAlpine records a security fix at this version. An absent entry does not mean the package is unaffected.1.24.10-r0Alpine Security Database ↗Source updated 11 Sep 2026
Alpine v3.22v3.22 · communitygst-plugins-goodVendor fix publishedAlpine records a security fix at this version. An absent entry does not mean the package is unaffected.1.24.10-r0Alpine Security Database ↗Source updated 11 Sep 2026
Alpine v3.21v3.21 · communitygst-plugins-goodVendor fix publishedAlpine records a security fix at this version. An absent entry does not mean the package is unaffected.1.24.10-r0Alpine Security Database ↗Source updated 19 Aug 2026
Debian trixietrixie · sourcegst-plugins-good1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.24.10-1Debian Security Tracker ↗Source updated 5 Oct 2026
Debian trixietrixie · sourcegstreamer1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.24.10-1Debian Security Tracker ↗Source updated 5 Oct 2026
Debian bookwormbookworm · sourcegst-plugins-good1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.22.0-5+deb12u2Debian Security Tracker ↗Source updated 5 Oct 2026
Debian bookwormbookworm · sourcegstreamer1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.22.0-2+deb12u1Debian Security Tracker ↗Source updated 5 Oct 2026
Debian forkyforky · sourcegst-plugins-good1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.24.10-1Debian Security Tracker ↗Source updated 5 Oct 2026
Debian forkyforky · sourcegstreamer1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.24.10-1Debian Security Tracker ↗Source updated 5 Oct 2026
Debian sidsid · sourcegst-plugins-good1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.24.10-1Debian Security Tracker ↗Source updated 5 Oct 2026
Debian sidsid · sourcegstreamer1.0Vendor fix publishedDebian records a fixed source-package version for this release.1.24.10-1Debian Security Tracker ↗Source updated 5 Oct 2026
Ubuntu 24.04 LTSnoble · standard archivegst-plugins-good1.0Vendor fix publishedCanonical reports that a fixed source package version has been published. Repository candidate availability is not checked by BlackTree.1.24.2-1ubuntu1.1Canonical Ubuntu Security ↗Source updated 5 Oct 2026
Ubuntu 24.04 LTSnoble · standard archivegstreamer1.0Vendor fix publishedCanonical reports that a fixed source package version has been published. Repository candidate availability is not checked by BlackTree.1.24.2-1ubuntu0.1Canonical Ubuntu Security ↗Source updated 5 Oct 2026
Optional official sources

National CERT insights
?CERT means Computer Emergency Response Team; CSIRT is the closely related term Computer Security Incident Response Team.

Choose official national sources for this report. Each advisory shows its original language. Your selection is remembered on this device and included in shared links.

Official European source

ENISA European Vulnerability Database

Official EUVD identifiers, advisory evidence and known-exploited context. Missing fields are not treated as evidence of low risk.

1 current
ENISA EUVD identifier

EUVD-2024-42823

No EUVD known-exploited evidence

ENISA has published the identifier mapping but no EUVD description has been stored yet.

EUVD state
Present in the current official mapping
Known exploitation
Not present in the current ENISA EUVD known-exploited dataset. This is not proof of no exploitation.
ENISA score
Not supplied in the stored EUVD record
Advisory evidence
No linked advisory details stored yet
Recommended actionWithin 7 days

High technical severity; prioritise exposed affected systems while verifying vendor guidance.

Patch available
01

What, why and how

GStreamer is a library for constructing graphs of media-handling components. An integer underflow has been detected in the function qtdemux_parse_theora_extension within qtdemux.c. The vulnerability occurs due to an underflow of the gint size variable, which causes size to hold a large unintended value when cast to an unsigned integer. This 32-bit negative value is then cast to a 64-bit unsigned integer (0xfffffffffffffffa) in a subsequent call to gst_buffer_new_and_alloc. The function gst_buffer_new_allocate then attempts to allocate memory, eventually calling _sysmem_new_block. The function _sysmem_new_block adds alignment and header size to the (unsigned) size, causing the overflow of the 'slice_size' variable. As a result, only 0x89 bytes are allocated, despite the large input size. When the following memcpy call occurs in gst_buffer_fill, the data from the input file will overwrite the content of the GstMapInfo info structure. Finally, during the call to gst_memory_unmap, the overwritten memory may cause a function pointer hijack, as the mem->allocator->mem_unmap_full function is called with a corrupted pointer. This function pointer overwrite could allow an attacker to alter the execution flow of the program, leading to arbitrary code execution. This vulnerability is fixed in 1.24.10.

What

GStreamer is a library for constructing graphs of media-handling components. An integer underflow has been detected in the function qtdemux_parse_theora_extension within qtdemux.c. The vulnerability occurs due to an underflow of the gint size variable, which causes size to hold a large unintended value when cast to an unsigned integer. This 32-bit negative value is then cast to a 64-bit unsigned integer (0xfffffffffffffffa) in a subsequent call to gst_buffer_new_and_alloc. The function gst_buffer_new_allocate then attempts to allocate memory, eventually calling _sysmem_new_block. The function _sysmem_new_block adds alignment and header size to the (unsigned) size, causing the overflow of the 'slice_size' variable. As a result, only 0x89 bytes are allocated, despite the large input size. When the following memcpy call occurs in gst_buffer_fill, the data from the input file will overwrite the content of the GstMapInfo info structure. Finally, during the call to gst_memory_unmap, the overwritten memory may cause a function pointer hijack, as the mem->allocator->mem_unmap_full function is called with a corrupted pointer. This function pointer overwrite could allow an attacker to alter the execution flow of the program, leading to arbitrary code execution. This vulnerability is fixed in 1.24.10.

Why

The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.

How

An attacker operating through local access may attempt exploitation without authentication or user interaction. If successful, the issue may execute code or commands in the affected security context.

What

GStreamer is a library for constructing graphs of media-handling components. An integer underflow has been detected in the function qtdemux_parse_theora_extension within qtdemux.c. The vulnerability occurs due to an underflow of the gint size variable, which causes size to hold a large unintended value when cast to an unsigned integer. This 32-bit negative value is then cast to a 64-bit unsigned integer (0xfffffffffffffffa) in a subsequent call to gst_buffer_new_and_alloc. The function gst_buffer_new_allocate then attempts to allocate memory, eventually calling _sysmem_new_block. The function _sysmem_new_block adds alignment and header size to the (unsigned) size, causing the overflow of the 'slice_size' variable. As a result, only 0x89 bytes are allocated, despite the large input size. When the following memcpy call occurs in gst_buffer_fill, the data from the input file will overwrite the content of the GstMapInfo info structure. Finally, during the call to gst_memory_unmap, the overwritten memory may cause a function pointer hijack, as the mem->allocator->mem_unmap_full function is called with a corrupted pointer. This function pointer overwrite could allow an attacker to alter the execution flow of the program, leading to arbitrary code execution. This vulnerability is fixed in 1.24.10.

Why

The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.

How

An attacker operating through local access may attempt exploitation without authentication or user interaction. If successful, the issue may execute code or commands in the affected security context.

02

Exploit reality and attack path

CVSS severity, EPSS forecast probability, public exploit material and CISA-confirmed exploitation are separate signals.

Observed exploitation
?Confirmed exploitation and public exploit material are separate signals. Attacks can occur without public proof-of-concept or exploit code.
No confirmed evidence

No CISA KEV match was present at the last successful refresh. This means no confirmation from that source, not proof of no exploitation.

Public PoC / exploit material
?Confirmed exploitation and public exploit material are separate signals. Attacks can occur without public proof-of-concept or exploit code.
None recorded

No exploit-tagged reference or CISA SSVC proof-of-concept state is currently recorded. Research may still exist outside the structured feeds.

Likely attack path
local access → Integer Overflow or Wraparound → execute code or commands in the affected security context
Attack surface
Local
Privileges required
None: unauthenticated exploitation is possible
User interaction
None
Attack complexity
Low: no specialised conditions are recorded
Security boundary
Not a CVSS 4.0 base metric
Weakness
?CWE means Common Weakness Enumeration: a standard category for the underlying weakness.
CWE-190 ↗

CWE-190: Integer Overflow or Wraparound. The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.

CVSS vector
?CVSS means Common Vulnerability Scoring System. The vector records the metric values used to calculate technical severity.
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Common Vulnerability Scoring System 4.0: the compact vector below is decoded into plain language.

AVLocalAttack vector: The attacker needs local access to the vulnerable system.ACLowAttack complexity: No specialised conditions are required beyond attacker-controlled input.ATNoneAttack requirements: No additional deployment or execution condition is required.PRNonePrivileges required: The attacker does not need an account or existing privileges.UINoneUser interaction: No action by another user is required.VCHighVulnerable-system confidentiality: A successful attack can cause a major loss.VIHighVulnerable-system integrity: A successful attack can cause a major loss.VAHighVulnerable-system availability: A successful attack can cause a major loss.SCNoneSubsequent-system confidentiality: No direct loss is represented by this metric.SINoneSubsequent-system integrity: No direct loss is represented by this metric.SANoneSubsequent-system availability: No direct loss is represented by this metric.
Post-exploitation / living off the land
After compromise, an attacker may use built-in shells, scripting engines, scheduled tasks and native network utilities for discovery, persistence or movement. This is a plausible LoTL path, not evidence that it has occurred for every attack.
UnauthenticatedRemote code executionCWE-190
A

Official authority intelligence

Only matched European and national findings are included. Language selectors and unavailable sources are omitted.

BSI · German · WID-SEC-2025-1559Oracle Communications: Mehrere Schwachstellen

Ein entfernter, anonymer oder authentisierter Angreifer kann mehrere Schwachstellen in Oracle Communications ausnutzen, um die Vertraulichkeit, Integrität und Verfügbarkeit zu gefährden.

Official advisory ↗
BSI · German · WID-SEC-2025-0815Oracle Java SE: Mehrere Schwachstellen

Ein entfernter, anonymer oder lokaler Angreifer kann mehrere Schwachstellen in Oracle Java SE ausnutzen, um die Vertraulichkeit, Integrität und Verfügbarkeit zu gefährden.

Official advisory ↗
BSI · German · WID-SEC-2024-3586GStreamer: Mehrere Schwachstellen ermöglichen Denial of Service

Ein entfernter, anonymer Angreifer kann mehrere Schwachstellen in GStreamer ausnutzen, um einen Denial of Service Angriff durchzuführen.

Official advisory ↗
Cyber Security Agency of Singapore · English · CSA-SB-20241218Security Bulletin 18 Dec 2024

The Cyber Security Agency of Singapore included this CVE in its official Security Bulletin 18 Dec 2024, published on 18 December 2024. Open the linked bulletin for the product, severity and reference information published in that issue.

Official advisory ↗
CERT-FR · French · CERTFR-2025-AVI-0661Multiples vulnérabilités dans les produits Splunk

d?id=CVE-2024-47546 Référence CVE CVE-2024-47596 https://www.cve.org/CVERecord?id=CVE-2024-47596 Référence CVE CVE-2024-47597 https://www.cve.org/CVERecord?id=CVE-2024-47597 Référence CVE CVE-2024-47598 https://www.cve.org/CVERecord?id=CVE-2024-47598 Référence CVE CVE-2024-47599 https://www.cve.org/CVERecord?id=CVE-2024-47599 Référence CVE CVE-2024-47600 https://www.cve.org/CVERecord?id=CVE-2024-47600 Référence CVE CVE-2024-47601 https://www.cve.org/CVERecord?id=CVE-2024-47601 Référence CVE CVE-2024-47602 https://www.cve.org/CVERecord?id=CVE-2024-47602 Référence CVE CVE-2024-47603 https://www.cve.org/CVERecord?id=CVE-2024-47603 Référence CVE CVE-2024-47606 https://www.cve.org/CVERecord?id=CVE-2024-47606 Référence CVE CVE-2024-47607 https://www.cve.org/CVERecord?id=CVE-2024-47607 Référence CVE CVE-2024-4761 https://www.cve.org/CVERecord?id=CVE-2024-4761 Référence CVE CVE-2024-47615 https://www.cve.org/CVERecord?id=CVE-2024-47615 Référence CVE CVE-2024-47774 https://www.cve.org/CVERecord?id=CVE-2024-47774 Référence CVE CVE-2024-47775 https://www.cve.org/CVERecord?id=CVE-2024-47775 Référence CVE CVE-2024-47776 https://www.cve.org/CVERecord?id=CVE-2024-47776 Référence CVE CVE-2024-47777 https://www.cve.org/CVERecord?id=CVE-2024-47777 Référence CVE CVE-2024-47778 https://www.cve.org/CVERecord?id=CV

Official advisory ↗
CERT-FR · French · CERTFR-2025-AVI-0319Multiples vulnérabilités dans Oracle Java SE

d?id=CVE-2024-44244 Référence CVE CVE-2024-44296 https://www.cve.org/CVERecord?id=CVE-2024-44296 Référence CVE CVE-2024-44308 https://www.cve.org/CVERecord?id=CVE-2024-44308 Référence CVE CVE-2024-44309 https://www.cve.org/CVERecord?id=CVE-2024-44309 Référence CVE CVE-2024-47544 https://www.cve.org/CVERecord?id=CVE-2024-47544 Référence CVE CVE-2024-47545 https://www.cve.org/CVERecord?id=CVE-2024-47545 Référence CVE CVE-2024-47546 https://www.cve.org/CVERecord?id=CVE-2024-47546 Référence CVE CVE-2024-47596 https://www.cve.org/CVERecord?id=CVE-2024-47596 Référence CVE CVE-2024-47597 https://www.cve.org/CVERecord?id=CVE-2024-47597 Référence CVE CVE-2024-47606 https://www.cve.org/CVERecord?id=CVE-2024-47606 Référence CVE CVE-2024-47775 https://www.cve.org/CVERecord?id=CVE-2024-47775 Référence CVE CVE-2024-47776 https://www.cve.org/CVERecord?id=CVE-2024-47776 Référence CVE CVE-2024-47777 https://www.cve.org/CVERecord?id=CVE-2024-47777 Référence CVE CVE-2024-47778 https://www.cve.org/CVERecord?id=CVE-2024-47778 Référence CVE CVE-2024-54479 https://www.cve.org/CVERecord?id=CVE-2024-54479 Référence CVE CVE-2024-54502 https://www.cve.org/CVERecord?id=CVE-2024-54502 Référence CVE CVE-2024-54505 https://www.cve.org/CVERecord?id=CVE-2024-54505 Référence CVE CVE-2024-54508 https://www.cve.org/CVERecord?id=

Official advisory ↗
JVN iPedia · Japanese · JVNDB-2024-015243GStreamer の GStreamer 等複数ベンダの製品における整数アンダーフローの脆弱性

GStreamer の GStreamer 等複数ベンダの製品には、整数アンダーフローの脆弱性が存在します。

Official advisory ↗
NCSC-NL · Dutch · NCSC-2025-0130Kwetsbaarheden verholpen in Oracle Java

De kwetsbaarheden in Oracle Java SE en GraalVM stellen ongeauthenticeerde kwaadwillenden met netwerktoegang in staat om kritieke gegevens te manipuleren of te benaderen. Dit kan leiden tot ongeautoriseerde toegang tot gegevens, vooral via API's en in omgevingen die onbetrouwbare code uitvoeren. De kwetsbaarheid in de GStreamer-bibliotheek kan ook leiden tot geheugenproblemen en mogelijk willekeurige code-executie door beschadigde pointers.

Official advisory ↗
03

Patch and workaround

Operational remediation based on structured source evidence.

Status
?Patch availability is based on structured fixed-version fields and authoritative update references. If no fix is verified, check the vendor advisory before making a change.
Patch available
Affected
gstreamer: < 1.24.10
Fixed
An authoritative update reference is available, but the fixed version is not recorded in the structured CVE fields. Check the linked vendor advisory for the applicable release.
Action
Review the linked authoritative reference and apply the recorded fixed release appropriate to the affected product branch.
Workaround
No verified workaround is recorded. Limit untrusted access and use least privilege until authoritative guidance is available.
04

Evidence and provenance

Published 11 Dec 2024 · Last source change 3 Nov 2025, 20:39 UTC · CWE-190 · Integer Overflow or Wraparound

CVE recordCVE.org · 5.2
CVSS sourceCNA
EPSS source
?The date BlackTree first stored a score for this CVE from the daily FIRST EPSS feed.
FIRST · tracked since 2026-08-14
European sourceENISA EUVD · EUVD-2024-42823
Product sourceCNA
Remediation sourceCVE/CNA references
CWE sourceCNA
NVD statusNVD modified after enrichment

Core structured fields are present and their contributing authorities are shown above.

Material change intelligence

What changed after publication

View recent updates ↗

No material field changes have been recorded since change tracking began. Routine source refreshes and cosmetic edits are intentionally excluded.

Material fields only · duplicate refreshes suppressed · history retained for the configured operational retention period
Technical terms and abbreviations used in this report
CVE
Common Vulnerabilities and Exposures: the public identifier for one disclosed vulnerability.
CVSS
Common Vulnerability Scoring System: a technical severity framework; it is not patching priority by itself.
EPSS
Exploit Prediction Scoring System: FIRST's estimate of the probability that exploitation activity will be observed in the next 30 days; it is a forecast, not confirmation.
CWE
Common Weakness Enumeration: the standard category describing the underlying software or hardware weakness.
CNA
CVE Numbering Authority: an organisation authorised to assign and publish CVE records.
CISA ADP
Cybersecurity and Infrastructure Security Agency Authorized Data Publisher: structured enrichment added to a CVE record.
NVD
National Vulnerability Database: NIST's enrichment service for CVE records.
CERT / CSIRT
A computer security incident response team that publishes warnings or coordinates incident response.
PoC
Proof of concept: public material that demonstrates or helps reproduce exploitation.
CSAF
Common Security Advisory Framework: a machine-readable format for security advisories.
LoTL
Living off the land: abuse of legitimate tools or system functions during an attack.
Free version - for non-commercial use only.CVE-2024-47606 · cve.blacktree.nl