mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 16:08:47 +03:00
Fix ReDoS vulnerability reported by Sonatype
This commit is contained in:
parent
ac7f87f199
commit
50bd78afb1
@ -513,9 +513,9 @@
|
|||||||
/(dell)\s(strea[kpr\s\d]*[\dko])/i // Dell Streak
|
/(dell)\s(strea[kpr\s\d]*[\dko])/i // Dell Streak
|
||||||
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
||||||
|
|
||||||
/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i // Kindle Fire HD
|
/(kf[A-z]+)\sbuild\/.+silk\//i // Kindle Fire HD
|
||||||
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
||||||
/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i // Fire Phone
|
/(sd|kf)[0349hijorstuw]+\sbuild\/.+silk\//i // Fire Phone
|
||||||
], [[MODEL, mapper.str, maps.device.amazon.model], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [
|
], [[MODEL, mapper.str, maps.device.amazon.model], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [
|
||||||
|
|
||||||
/\((ip[honed|\s\w*]+);.+(apple)/i // iPod/iPhone
|
/\((ip[honed|\s\w*]+);.+(apple)/i // iPod/iPhone
|
||||||
@ -651,12 +651,12 @@
|
|||||||
/android.+;\s(pixel xl|pixel)\s/i // Google Pixel
|
/android.+;\s(pixel xl|pixel)\s/i // Google Pixel
|
||||||
], [MODEL, [VENDOR, 'Google'], [TYPE, MOBILE]], [
|
], [MODEL, [VENDOR, 'Google'], [TYPE, MOBILE]], [
|
||||||
|
|
||||||
/android.+(\w+)\s+build\/hm\1/i, // Xiaomi Hongmi 'numeric' models
|
/android.+;\s(\w+)\s+build\/hm\1/i, // Xiaomi Hongmi 'numeric' models
|
||||||
/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i, // Xiaomi Hongmi
|
/android.+;\s(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i, // Xiaomi Hongmi
|
||||||
/android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d\w?)?[\s_]*(?:plus)?)\s+build/i, // Xiaomi Mi
|
/android.+;\s(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d\w?)?[\s_]*(?:plus)?)\s+build/i, // Xiaomi Mi
|
||||||
/android.+(redmi[\s\-_]*(?:note)?(?:[\s_]*[\w\s]+)?)\s+build/i // Redmi Phones
|
/android.+;\s(redmi[\s\-_]*(?:note)?(?:[\s_]*[\w\s]+)?)\s+build/i // Redmi Phones
|
||||||
], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [
|
], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [
|
||||||
/android.+(mi[\s\-_]*(?:pad)(?:[\s_]*[\w\s]+)?)\s+build/i // Mi Pad tablets
|
/android.+(mi[\s\-_]*(?:pad)(?:[\s_]*[\w\s]+)?)\s+build/i // Mi Pad tablets
|
||||||
],[[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, TABLET]], [
|
],[[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, TABLET]], [
|
||||||
/android.+;\s(m[1-5]\snote)\sbuild/i // Meizu Tablet
|
/android.+;\s(m[1-5]\snote)\sbuild/i // Meizu Tablet
|
||||||
], [MODEL, [VENDOR, 'Meizu'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Meizu'], [TYPE, TABLET]], [
|
||||||
@ -668,7 +668,7 @@
|
|||||||
/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i // RCA Tablets
|
/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i // RCA Tablets
|
||||||
], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(Venue[\d\s]*)\s+build/i // Dell Venue Tablets
|
/android.+[;\/\s]+(Venue[\d\s]{2,7})\s+build/i // Dell Venue Tablets
|
||||||
], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i // Verizon Tablet
|
/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i // Verizon Tablet
|
||||||
@ -680,8 +680,8 @@
|
|||||||
/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i // Barnes & Noble Tablet
|
/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i // Barnes & Noble Tablet
|
||||||
], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(zte)?.+(k\d{2})\s+build/i // ZTE K Series Tablet
|
/android.+;\s(k88)\sbuild/i // ZTE K Series Tablet
|
||||||
], [[VENDOR, 'ZTE'], MODEL, [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i // Swiss GEN Mobile
|
/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i // Swiss GEN Mobile
|
||||||
], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
|
], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
|
||||||
@ -692,14 +692,14 @@
|
|||||||
/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i // Zeki Tablets
|
/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i // Zeki Tablets
|
||||||
], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/(android).+[;\/]\s+([YR]\d{2}x?.*)\s+build/i,
|
/(android).+[;\/]\s+([YR]\d{2})\s+build/i,
|
||||||
/android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(.+)\s+build/i // Dragon Touch Tablet
|
/android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i // Dragon Touch Tablet
|
||||||
], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [
|
], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(NS-?.+)\s+build/i // Insignia Tablets
|
/android.+[;\/]\s*(NS-?\w{0,9})\sbuild/i // Insignia Tablets
|
||||||
], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*((NX|Next)-?.+)\s+build/i // NextBook Tablets
|
/android.+[;\/]\s*((NX|Next)-?\w{0,9})\s+build/i // NextBook Tablets
|
||||||
], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(Xtreme\_?)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i
|
/android.+[;\/]\s*(Xtreme\_?)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i
|
||||||
@ -711,7 +711,7 @@
|
|||||||
/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets
|
/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets
|
||||||
], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(.*\b)\s+build/i // Le Pan Tablets
|
/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i // Le Pan Tablets
|
||||||
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i // MachSpeed Tablets
|
/android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i // MachSpeed Tablets
|
||||||
@ -726,14 +726,14 @@
|
|||||||
/android.+(KS(.+))\s+build/i // Amazon Kindle Tablets
|
/android.+(KS(.+))\s+build/i // Amazon Kindle Tablets
|
||||||
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
/android.+(Gigaset)[\s\-]+(Q.+)\s+build/i // Gigaset Tablets
|
/android.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i // Gigaset Tablets
|
||||||
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
||||||
|
|
||||||
/\s(tablet|tab)[;\/]/i, // Unidentifiable Tablet
|
/\s(tablet|tab)[;\/]/i, // Unidentifiable Tablet
|
||||||
/\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile
|
/\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile
|
||||||
], [[TYPE, util.lowerize], VENDOR, MODEL], [
|
], [[TYPE, util.lowerize], VENDOR, MODEL], [
|
||||||
|
|
||||||
/(android.+)[;\/].+build/i // Generic Android Device
|
/(android[\w\.\s\-]{0,9});.+build/i // Generic Android Device
|
||||||
], [MODEL, [VENDOR, 'Generic']]
|
], [MODEL, [VENDOR, 'Generic']]
|
||||||
|
|
||||||
|
|
||||||
@ -800,7 +800,7 @@
|
|||||||
/(icab)[\/\s]([23]\.[\d\.]+)/i // iCab
|
/(icab)[\/\s]([23]\.[\d\.]+)/i // iCab
|
||||||
], [NAME, VERSION], [
|
], [NAME, VERSION], [
|
||||||
|
|
||||||
/rv\:([\w\.]+).*(gecko)/i // Gecko
|
/rv\:([\w\.]{1,9}).+(gecko)/i // Gecko
|
||||||
], [VERSION, NAME]
|
], [VERSION, NAME]
|
||||||
],
|
],
|
||||||
|
|
||||||
@ -856,11 +856,11 @@
|
|||||||
/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly
|
/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly
|
||||||
], [NAME, VERSION],[
|
], [NAME, VERSION],[
|
||||||
|
|
||||||
/(haiku)\s(\w+)/i // Haiku
|
/(haiku)\s(\w+)/i // Haiku
|
||||||
], [NAME, VERSION],[
|
], [NAME, VERSION],[
|
||||||
|
|
||||||
/cfnetwork\/.+darwin/i,
|
/cfnetwork\/.+darwin/i,
|
||||||
/ip[honead]+(?:.*os\s([\w]+)\slike\smac|;\sopera)/i // iOS
|
/ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i // iOS
|
||||||
], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [
|
], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [
|
||||||
|
|
||||||
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,
|
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user