Skip to content

Commit 6abc96d

Browse files
Vet The Return of Saved XML
1 parent 95b454c commit 6abc96d

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

vcell-rest/src/main/java/org/vcell/restq/handlers/BioModelResource.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,9 @@ public String save(@RequestBody(name = "bioModelVCML", required = true, descript
186186
XmlUtil.vetXMLForMaliciousEntities(bioModelVCML);
187187
cbit.vcell.biomodel.BioModel savedBioModel = bioModelRestService.save(user, bioModelVCML,
188188
newName.orElse(null), simNames.toArray(new String[0]));
189-
return XmlHelper.bioModelToXML(savedBioModel);
189+
String result = XmlHelper.bioModelToXML(savedBioModel);
190+
XmlUtil.vetXMLForMaliciousEntities(result);
191+
return result;
190192
} catch (DataAccessException e) {
191193
throw new DataAccessWebException(e.getMessage(), e);
192194
} catch (XmlParseException | IOException | JDOMException e){

vcell-rest/src/main/java/org/vcell/restq/handlers/MathModelResource.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ public String save(@RequestBody(name = "mathModelVCML", required = true) String
132132
try{
133133
XmlUtil.vetXMLForMaliciousEntities(mathModelVCML);
134134
BigString result = mathModelService.saveModel(user, new BigString(mathModelVCML), newName.orElse(null), simNames.toArray(new String[0]));
135+
XmlUtil.vetXMLForMaliciousEntities(result.toString()); // partial saves might include already saved XML
135136
return result.toString();
136137
} catch (DataAccessException e) {
137138
throw new DataAccessWebException(e.getMessage(), e);

0 commit comments

Comments
 (0)