AI description
CVE-2024-4367 is a vulnerability in PDF.js, a JavaScript-based PDF viewer. It stems from a missing type check when handling fonts, specifically during glyph path compilation for Type 1 fonts. The issue occurs in the FontFaceObject.getPathGenerator method, where font matrix values from PDF dictionaries are not properly validated before being used in JavaScript code generation. Successful exploitation of this vulnerability allows an attacker to execute arbitrary JavaScript code within the PDF.js context. This could enable malicious actors to perform actions such as spying on user activity, triggering unauthorized downloads (including file:// URLs), and leaking PDF file paths. Web applications that utilize PDF.js may be susceptible to stored Cross-Site Scripting (XSS) attacks. The vulnerability affects Firefox versions prior to 126, Firefox ESR versions earlier than 115.11, and Thunderbird versions before 115.11.
- Description
- A type check was missing when handling fonts in PDF.js, which would allow arbitrary JavaScript execution in the PDF.js context. This vulnerability affects Firefox < 126, Firefox ESR < 115.11, and Thunderbird < 115.11.
- Source
- security@mozilla.org
- NVD status
- Modified
CVSS 3.1
- Type
- Primary
- Base score
- 8.8
- Impact score
- 5.9
- Exploitability score
- 2.8
- Vector string
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- Severity
- HIGH
- nvd@nist.gov
- NVD-CWE-noinfo
- 134c704f-9b21-4f2e-91b3-4a467353bcc0
- CWE-754
- Hype score
- Not currently trending
🏁 Arbitrary JavaScript execution in PDF.js [CVE-2024-4367] Blog: https://t.co/Vxfxx2G7Jx #infosec https://t.co/nRe0afEPrf
@mqst_
11 Jun 2025
5073 Impressions
24 Retweets
156 Likes
68 Bookmarks
0 Replies
0 Quotes
Top 5 Trending CVEs: 1 - CVE-2024-43405 2 - CVE-2023-45866 3 - CVE-2024-49112 4 - CVE-2024-49113 5 - CVE-2024-4367 #cve #cvetrends #cveshield #cybersecurity https://t.co/4Fua3CAN6W
@CVEShield
5 Jan 2025
4 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
🚨 Heads up! CVE-2024-4367 exposes PDF.js to arbitrary JS execution in Firefox <126 & others. Update to v4.2.67+ to stay secure. Read more: https://t.co/guF9UclGSY #CyberSecurity #InfoSec
@ThreatVector24
3 Jan 2025
5 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
🚨 New Writeup Alert! 🚨 "PDF.js Arbitrary JavaScript Code Execution (CVE-2024-4367)" by coffinxp is now live on IW! Check it out here: https://t.co/w3ASA58O8L #cve #bugbountytips #bugbounty #bugbountywriteup #pdf
@InfoSecComm
3 Jan 2025
7202 Impressions
33 Retweets
162 Likes
94 Bookmarks
3 Replies
1 Quote
PDF.js Arbitrary JavaScript Code Execution (CVE-2024-4367) https://t.co/PNzAAWGxMC #bugbounty #bugbountytips #bugbountytip
@bountywriteups
3 Jan 2025
1270 Impressions
7 Retweets
36 Likes
16 Bookmarks
0 Replies
0 Quotes
Awesome! CVE-2024-4367 &#8211; Arbitrary JavaScript execution in PDF.js https://t.co/DTu8aNRGDU
@r00tth3w0r1d
28 Oct 2024
11 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
[
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:mozilla:firefox:*:*:*:*:esr:*:*:*",
"vulnerable": true,
"matchCriteriaId": "DCAE3CC2-8B68-45CA-BADF-3DF1AF50ECD6",
"versionEndExcluding": "115.11.0"
},
{
"criteria": "cpe:2.3:a:mozilla:firefox:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "2695925F-3984-4304-A630-5FF27054F360",
"versionEndExcluding": "126.0"
},
{
"criteria": "cpe:2.3:a:mozilla:thunderbird:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "0C7339B9-8741-4320-BF1C-3BC9F1D051FF",
"versionEndExcluding": "115.11.0"
}
],
"operator": "OR"
}
]
},
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "07B237A9-69A3-4A9C-9DA0-4E06BD37AE73"
}
],
"operator": "OR"
}
]
},
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "36FAB456-0B41-41D1-996F-1E3D09610837",
"versionEndExcluding": "7.10.6"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "88333816-A52C-4532-873F-FB63F9D8EF50"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision10:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "E7A59CB6-CC3B-456E-9D86-C4CF9E6E498A"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision11:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "921BE65B-3D3D-4FC3-95DA-9BC952867DDC"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision12:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "B72BEA46-A56F-48C6-BA27-EEAECB5E5CBD"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision13:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FEB4F9B6-0B66-428B-99F7-65899B67661D"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision14:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C5D81A00-9E65-4EDC-81B4-E9BA41DAFBC9"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision15:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "48ABE078-AEE4-4757-BC2A-BA93441217A2"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision16:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F348FAF7-E5C1-4CD1-A03A-7533320F5541"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision17:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "099C0FAB-5E2E-4E31-890F-887866433240"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision18:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "77C79C72-DECD-49F2-A0EA-5CC5D502A57A"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision19:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "D6942894-A851-4E45-AFE8-980732893B8C"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision20:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C3975146-09F6-4654-887D-4346152717FF"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision21:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FBF5C6B3-DAF1-443D-9A2C-531C88283023"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision22:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "D20DBECD-C640-4C00-882C-0890DA4972F9"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision23:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9B1E6293-A648-4585-970C-D42BAECC325D"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision24:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "E1F0C305-68E7-4D26-92AB-861656D4D60A"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision25:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FEA7C621-C614-471F-807C-21D3B1B4D958"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision26:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "887D575F-E401-4C1F-ADDC-7F16E43FDFE1"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision27:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "03C62BEE-A21A-4065-B881-04BDEA26A6FA"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision28:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "5F505772-330D-40FB-A7B3-A36B67E6AC7D"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision29:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1B4943D5-A188-4115-995A-3096455EB5AA"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision3:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "85ECCEA8-66F7-4075-A800-3E2CDE8AFE18"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision30:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "165F7F6B-D335-46DE-8BC9-5A583B86867B"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision31:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C84E2AE8-2F76-4E1F-8FB4-F260B4D4EE36"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision32:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "2597BB89-E838-4ED8-89C0-84D8C47A0A15"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision33:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1E1ED3FD-EAB2-41A5-93C3-E9D31AF53E2E"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision34:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "2080E636-6C5D-4432-B07B-BED2244BDB39"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision35:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "002FC2E8-2A04-415A-9898-119A739EB0F3"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision36:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "70B28907-BAD8-4876-9C39-E980351A2470"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision37:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FB937D6A-D429-4891-BB3A-28A0B039AA3C"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision38:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "99FC8686-6511-42F7-AE15-EABF3CF1063B"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision39:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "20C91E21-36C2-4707-A328-60B93D26297C"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision4:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "A854AAC3-3ED9-4B28-AE12-221BB21869DF"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision40:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "631CCE15-D3BB-474A-8C61-B182A7B57125"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision41:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "626D1B88-86C2-4768-9B0F-CF675BCCE0E6"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision42:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "93648317-8C93-4212-AFE3-27B5B271A735"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision43:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9B5FADC4-3DE4-48FF-A1EF-897475330769"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision44:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "79685312-DD43-4BA8-81D1-113E967F7D73"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision5:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F1127A48-219E-4083-A4D8-1BD47D1EC780"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision6:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FC14EBB2-44E8-420A-B799-EEF5EDD25742"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision7:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "87F12C86-40B3-4890-8663-722402C34100"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision8:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "358F76F5-CCDC-4DB6-BB44-0B4D8E0028A9"
},
{
"criteria": "cpe:2.3:a:open-xchange:open-xchange_appsuite_frontend:7.10.6:revision9:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "2DE19BCC-A9CA-4CCC-B7DE-5A90710DD98C"
}
],
"operator": "OR"
}
]
}
]