mirror of
https://git.yoctoproject.org/poky
synced 2026-09-12 15:49:36 +02:00
bitbake: toastergui: fix XSS injection points in projects page
We close XSS injection points in Projects page. * modify the json filter to properly escape HTML tags in strings * enable $sanitize to automatically sanitize dangerous HTML in user-supplied input * clean dangerous characters in targets field, as that field contents will be directly passed to a shell command Based on the vulnerability discovered and the patch provided by Michael Wood. (Bitbake rev: 23c440db9c076ca37e651bdbbdbefee54998e1dc) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
326d5b1a28
commit
c5d19aae55
@@ -101,7 +101,7 @@ function _diffArrays(existingArray, newArray, compareElements, onAdded, onDelete
|
||||
}
|
||||
|
||||
|
||||
var projectApp = angular.module('project', ['ngCookies', 'ngAnimate', 'ui.bootstrap' ], angular_formpost);
|
||||
var projectApp = angular.module('project', ['ngCookies', 'ngAnimate', 'ui.bootstrap', 'ngRoute', 'ngSanitize'], angular_formpost);
|
||||
|
||||
// modify the template tag markers to prevent conflicts with Django
|
||||
projectApp.config(function($interpolateProvider) {
|
||||
@@ -128,7 +128,7 @@ projectApp.filter('timediff', function() {
|
||||
|
||||
|
||||
// main controller for the project page
|
||||
projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $location, $cookies, $q, $sce, $anchorScroll, $animate) {
|
||||
projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $location, $cookies, $q, $sce, $anchorScroll, $animate, $sanitize) {
|
||||
|
||||
$scope.getSuggestions = function(type, currentValue) {
|
||||
var deffered = $q.defer();
|
||||
@@ -475,6 +475,7 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
|
||||
var alertText = undefined;
|
||||
var alertZone = undefined;
|
||||
var oldLayers = [];
|
||||
|
||||
switch(elementid) {
|
||||
case '#select-machine':
|
||||
alertText = "You have changed the machine to: <strong>" + $scope.machineName + "</strong>";
|
||||
@@ -594,7 +595,7 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
|
||||
var crtid = zone.maxid ++;
|
||||
angular.forEach(zone, function (o) { o.close() });
|
||||
o = {
|
||||
id: crtid, text: $sce.trustAsHtml(text), type: type,
|
||||
id: crtid, text: text, type: type,
|
||||
close: function() {
|
||||
zone.splice((function(id){ for (var i = 0; i < zone.length; i++) if (id == zone[i].id) { return i}; return undefined;})(crtid), 1);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user