diff --git a/component.json b/component.json
index e4c782410b..9e8f3411ec 100755
--- a/component.json
+++ b/component.json
@@ -1,6 +1,6 @@
{
"name" : "jquery",
- "version" : "1.4.4",
+ "version" : "1.4.5-sec",
"main" : "./jquery.js",
"dependencies": {
}
diff --git a/jquery.js b/jquery.js
index a4f114586c..06026f8e47 100755
--- a/jquery.js
+++ b/jquery.js
@@ -1,5 +1,5 @@
/*!
- * jQuery JavaScript Library v1.4.4
+ * jQuery JavaScript Library v1.4.5-sec
* http://jquery.com/
*
* Copyright 2010, John Resig
@@ -11,7 +11,7 @@
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
- * Date: Thu Nov 11 19:04:53 2010 -0500
+ * Date: Thu Feb 15 16:39:20 2024 -0600
*/
(function( window, undefined ) {
@@ -35,8 +35,9 @@ var jQuery = function( selector, context ) {
rootjQuery,
// A simple way to check for HTML strings or ID strings
- // (both of which we optimize for)
- quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
+ // Prioritize #id over to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ quickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
// Is it a simple selector
isSimple = /^.[^:#\[\.,]*$/,
@@ -211,7 +212,7 @@ jQuery.fn = jQuery.prototype = {
selector: "",
// The current version of jQuery being used
- jquery: "1.4.4",
+ jquery: "1.4.5-sec",
// The default length of a jQuery object is 0
length: 0,
@@ -363,8 +364,9 @@ jQuery.extend = jQuery.fn.extend = function() {
src = target[ name ];
copy = options[ name ];
+ // Prevent Object.prototype pollution
// Prevent never-ending loop
- if ( target === copy ) {
+ if ( name === "__proto__" || target === copy ) {
continue;
}
@@ -4623,7 +4625,6 @@ function winnow( elements, qualifier, keep ) {
var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
rleadingWhitespace = /^\s+/,
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
rtagName = /<([\w:]+)/,
rtbody = /\s]+\/)>/g,
wrapMap = {
- option: [ 1, "" ],
legend: [ 1, "" ],
thead: [ 1, "" ],
tr: [ 2, "" ],
@@ -4642,7 +4642,6 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
_default: [ 0, "", "" ]
};
-wrapMap.optgroup = wrapMap.option;
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
wrapMap.th = wrapMap.td;
@@ -4856,8 +4855,6 @@ jQuery.fn.extend({
(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
- value = value.replace(rxhtmlTag, "<$1>$2>");
-
try {
for ( var i = 0, l = this.length; i < l; i++ ) {
// Remove element nodes and prevent memory leaks
@@ -5104,8 +5101,6 @@ jQuery.extend({
elem = context.createTextNode( elem );
} else if ( typeof elem === "string" ) {
- // Fix "XHTML"-style tags in all browsers
- elem = elem.replace(rxhtmlTag, "<$1>$2>");
// Trim whitespace, otherwise indexOf won't work as expected
var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
@@ -5566,7 +5561,7 @@ if ( jQuery.expr && jQuery.expr.filters ) {
var jsc = jQuery.now(),
- rscript = /