@@ -14,11 +14,11 @@ private class Jms1Source extends SourceModelCsv {
1414 row =
1515 [
1616 // incoming messages are considered tainted
17- "javax.jms;MessageListener;true;onMessage;(Message);;Parameter[0];remote" ,
18- "javax.jms;MessageConsumer;true;receive;;;ReturnValue;remote" ,
19- "javax.jms;MessageConsumer;true;receiveNoWait;();;ReturnValue;remote" ,
20- "javax.jms;QueueRequestor;true;request;(Message);;ReturnValue;remote" ,
21- "javax.jms;TopicRequestor;true;request;(Message);;ReturnValue;remote" ,
17+ "javax.jms;MessageListener;true;onMessage;(Message);;Parameter[0];remote;manual " ,
18+ "javax.jms;MessageConsumer;true;receive;;;ReturnValue;remote;manual " ,
19+ "javax.jms;MessageConsumer;true;receiveNoWait;();;ReturnValue;remote;manual " ,
20+ "javax.jms;QueueRequestor;true;request;(Message);;ReturnValue;remote;manual " ,
21+ "javax.jms;TopicRequestor;true;request;(Message);;ReturnValue;remote;manual " ,
2222 ]
2323 }
2424}
@@ -29,64 +29,64 @@ private class Jms1FlowStep extends SummaryModelCsv {
2929 row =
3030 [
3131 // if a message is tainted, then it returns tainted data
32- "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint" ,
33- "javax.jms;Message;true;getJMSCorrelationIDAsBytes;();;Argument[-1];ReturnValue;taint" ,
34- "javax.jms;Message;true;getJMSCorrelationID;();;Argument[-1];ReturnValue;taint" ,
35- "javax.jms;Message;true;getJMSReplyTo;();;Argument[-1];ReturnValue;taint" ,
36- "javax.jms;Message;true;getJMSDestination;();;Argument[-1];ReturnValue;taint" ,
37- "javax.jms;Message;true;getJMSType;();;Argument[-1];ReturnValue;taint" ,
38- "javax.jms;Message;true;getBooleanProperty;();;Argument[-1];ReturnValue;taint" ,
39- "javax.jms;Message;true;getByteProperty;();;Argument[-1];ReturnValue;taint" ,
40- "javax.jms;Message;true;getShortProperty;();;Argument[-1];ReturnValue;taint" ,
41- "javax.jms;Message;true;getIntProperty;();;Argument[-1];ReturnValue;taint" ,
42- "javax.jms;Message;true;getLongProperty;();;Argument[-1];ReturnValue;taint" ,
43- "javax.jms;Message;true;getFloatProperty;();;Argument[-1];ReturnValue;taint" ,
44- "javax.jms;Message;true;getDoubleProperty;();;Argument[-1];ReturnValue;taint" ,
45- "javax.jms;Message;true;getStringProperty;();;Argument[-1];ReturnValue;taint" ,
46- "javax.jms;Message;true;getObjectProperty;();;Argument[-1];ReturnValue;taint" ,
47- "javax.jms;Message;true;getPropertyNames;();;Argument[-1];ReturnValue;taint" ,
48- "javax.jms;BytesMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint" ,
49- "javax.jms;BytesMessage;true;readByte;();;Argument[-1];ReturnValue;taint" ,
50- "javax.jms;BytesMessage;true;readUnsignedByte;();;Argument[-1];ReturnValue;taint" ,
51- "javax.jms;BytesMessage;true;readShort;();;Argument[-1];ReturnValue;taint" ,
52- "javax.jms;BytesMessage;true;readUnsignedShort;();;Argument[-1];ReturnValue;taint" ,
53- "javax.jms;BytesMessage;true;readChar;();;Argument[-1];ReturnValue;taint" ,
54- "javax.jms;BytesMessage;true;readInt;();;Argument[-1];ReturnValue;taint" ,
55- "javax.jms;BytesMessage;true;readLong;();;Argument[-1];ReturnValue;taint" ,
56- "javax.jms;BytesMessage;true;readFloat;();;Argument[-1];ReturnValue;taint" ,
57- "javax.jms;BytesMessage;true;readDouble;();;Argument[-1];ReturnValue;taint" ,
58- "javax.jms;BytesMessage;true;readUTF;();;Argument[-1];ReturnValue;taint" ,
59- "javax.jms;BytesMessage;true;readBytes;;;Argument[-1];Argument[0];taint" ,
60- "javax.jms;MapMessage;true;getBoolean;(String);;Argument[-1];ReturnValue;taint" ,
61- "javax.jms;MapMessage;true;getByte;(String);;Argument[-1];ReturnValue;taint" ,
62- "javax.jms;MapMessage;true;getShort;(String);;Argument[-1];ReturnValue;taint" ,
63- "javax.jms;MapMessage;true;getChar;(String);;Argument[-1];ReturnValue;taint" ,
64- "javax.jms;MapMessage;true;getInt;(String);;Argument[-1];ReturnValue;taint" ,
65- "javax.jms;MapMessage;true;getLong;(String);;Argument[-1];ReturnValue;taint" ,
66- "javax.jms;MapMessage;true;getFloat;(String);;Argument[-1];ReturnValue;taint" ,
67- "javax.jms;MapMessage;true;getDouble;(String);;Argument[-1];ReturnValue;taint" ,
68- "javax.jms;MapMessage;true;getString;(String);;Argument[-1];ReturnValue;taint" ,
69- "javax.jms;MapMessage;true;getBytes;(String);;Argument[-1];ReturnValue;taint" ,
70- "javax.jms;MapMessage;true;getObject;(String);;Argument[-1];ReturnValue;taint" ,
71- "javax.jms;MapMessage;true;getMapNames;();;Argument[-1];ReturnValue;taint" ,
72- "javax.jms;ObjectMessage;true;getObject;();;Argument[-1];ReturnValue;taint" ,
73- "javax.jms;StreamMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint" ,
74- "javax.jms;StreamMessage;true;readByte;();;Argument[-1];ReturnValue;taint" ,
75- "javax.jms;StreamMessage;true;readShort;();;Argument[-1];ReturnValue;taint" ,
76- "javax.jms;StreamMessage;true;readChar;();;Argument[-1];ReturnValue;taint" ,
77- "javax.jms;StreamMessage;true;readInt;();;Argument[-1];ReturnValue;taint" ,
78- "javax.jms;StreamMessage;true;readLong;();;Argument[-1];ReturnValue;taint" ,
79- "javax.jms;StreamMessage;true;readFloat;();;Argument[-1];ReturnValue;taint" ,
80- "javax.jms;StreamMessage;true;readDouble;();;Argument[-1];ReturnValue;taint" ,
81- "javax.jms;StreamMessage;true;readString;();;Argument[-1];ReturnValue;taint" ,
82- "javax.jms;StreamMessage;true;readBytes;(byte[]);;Argument[-1];Argument[0];taint" ,
83- "javax.jms;StreamMessage;true;readObject;();;Argument[-1];ReturnValue;taint" ,
84- "javax.jms;TextMessage;true;getText;();;Argument[-1];ReturnValue;taint" ,
32+ "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint;manual " ,
33+ "javax.jms;Message;true;getJMSCorrelationIDAsBytes;();;Argument[-1];ReturnValue;taint;manual " ,
34+ "javax.jms;Message;true;getJMSCorrelationID;();;Argument[-1];ReturnValue;taint;manual " ,
35+ "javax.jms;Message;true;getJMSReplyTo;();;Argument[-1];ReturnValue;taint;manual " ,
36+ "javax.jms;Message;true;getJMSDestination;();;Argument[-1];ReturnValue;taint;manual " ,
37+ "javax.jms;Message;true;getJMSType;();;Argument[-1];ReturnValue;taint;manual " ,
38+ "javax.jms;Message;true;getBooleanProperty;();;Argument[-1];ReturnValue;taint;manual " ,
39+ "javax.jms;Message;true;getByteProperty;();;Argument[-1];ReturnValue;taint;manual " ,
40+ "javax.jms;Message;true;getShortProperty;();;Argument[-1];ReturnValue;taint;manual " ,
41+ "javax.jms;Message;true;getIntProperty;();;Argument[-1];ReturnValue;taint;manual " ,
42+ "javax.jms;Message;true;getLongProperty;();;Argument[-1];ReturnValue;taint;manual " ,
43+ "javax.jms;Message;true;getFloatProperty;();;Argument[-1];ReturnValue;taint;manual " ,
44+ "javax.jms;Message;true;getDoubleProperty;();;Argument[-1];ReturnValue;taint;manual " ,
45+ "javax.jms;Message;true;getStringProperty;();;Argument[-1];ReturnValue;taint;manual " ,
46+ "javax.jms;Message;true;getObjectProperty;();;Argument[-1];ReturnValue;taint;manual " ,
47+ "javax.jms;Message;true;getPropertyNames;();;Argument[-1];ReturnValue;taint;manual " ,
48+ "javax.jms;BytesMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint;manual " ,
49+ "javax.jms;BytesMessage;true;readByte;();;Argument[-1];ReturnValue;taint;manual " ,
50+ "javax.jms;BytesMessage;true;readUnsignedByte;();;Argument[-1];ReturnValue;taint;manual " ,
51+ "javax.jms;BytesMessage;true;readShort;();;Argument[-1];ReturnValue;taint;manual " ,
52+ "javax.jms;BytesMessage;true;readUnsignedShort;();;Argument[-1];ReturnValue;taint;manual " ,
53+ "javax.jms;BytesMessage;true;readChar;();;Argument[-1];ReturnValue;taint;manual " ,
54+ "javax.jms;BytesMessage;true;readInt;();;Argument[-1];ReturnValue;taint;manual " ,
55+ "javax.jms;BytesMessage;true;readLong;();;Argument[-1];ReturnValue;taint;manual " ,
56+ "javax.jms;BytesMessage;true;readFloat;();;Argument[-1];ReturnValue;taint;manual " ,
57+ "javax.jms;BytesMessage;true;readDouble;();;Argument[-1];ReturnValue;taint;manual " ,
58+ "javax.jms;BytesMessage;true;readUTF;();;Argument[-1];ReturnValue;taint;manual " ,
59+ "javax.jms;BytesMessage;true;readBytes;;;Argument[-1];Argument[0];taint;manual " ,
60+ "javax.jms;MapMessage;true;getBoolean;(String);;Argument[-1];ReturnValue;taint;manual " ,
61+ "javax.jms;MapMessage;true;getByte;(String);;Argument[-1];ReturnValue;taint;manual " ,
62+ "javax.jms;MapMessage;true;getShort;(String);;Argument[-1];ReturnValue;taint;manual " ,
63+ "javax.jms;MapMessage;true;getChar;(String);;Argument[-1];ReturnValue;taint;manual " ,
64+ "javax.jms;MapMessage;true;getInt;(String);;Argument[-1];ReturnValue;taint;manual " ,
65+ "javax.jms;MapMessage;true;getLong;(String);;Argument[-1];ReturnValue;taint;manual " ,
66+ "javax.jms;MapMessage;true;getFloat;(String);;Argument[-1];ReturnValue;taint;manual " ,
67+ "javax.jms;MapMessage;true;getDouble;(String);;Argument[-1];ReturnValue;taint;manual " ,
68+ "javax.jms;MapMessage;true;getString;(String);;Argument[-1];ReturnValue;taint;manual " ,
69+ "javax.jms;MapMessage;true;getBytes;(String);;Argument[-1];ReturnValue;taint;manual " ,
70+ "javax.jms;MapMessage;true;getObject;(String);;Argument[-1];ReturnValue;taint;manual " ,
71+ "javax.jms;MapMessage;true;getMapNames;();;Argument[-1];ReturnValue;taint;manual " ,
72+ "javax.jms;ObjectMessage;true;getObject;();;Argument[-1];ReturnValue;taint;manual " ,
73+ "javax.jms;StreamMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint;manual " ,
74+ "javax.jms;StreamMessage;true;readByte;();;Argument[-1];ReturnValue;taint;manual " ,
75+ "javax.jms;StreamMessage;true;readShort;();;Argument[-1];ReturnValue;taint;manual " ,
76+ "javax.jms;StreamMessage;true;readChar;();;Argument[-1];ReturnValue;taint;manual " ,
77+ "javax.jms;StreamMessage;true;readInt;();;Argument[-1];ReturnValue;taint;manual " ,
78+ "javax.jms;StreamMessage;true;readLong;();;Argument[-1];ReturnValue;taint;manual " ,
79+ "javax.jms;StreamMessage;true;readFloat;();;Argument[-1];ReturnValue;taint;manual " ,
80+ "javax.jms;StreamMessage;true;readDouble;();;Argument[-1];ReturnValue;taint;manual " ,
81+ "javax.jms;StreamMessage;true;readString;();;Argument[-1];ReturnValue;taint;manual " ,
82+ "javax.jms;StreamMessage;true;readBytes;(byte[]);;Argument[-1];Argument[0];taint;manual " ,
83+ "javax.jms;StreamMessage;true;readObject;();;Argument[-1];ReturnValue;taint;manual " ,
84+ "javax.jms;TextMessage;true;getText;();;Argument[-1];ReturnValue;taint;manual " ,
8585 // if a destination is tainted, then it returns tainted data
86- "javax.jms;Queue;true;getQueueName;();;Argument[-1];ReturnValue;taint" ,
87- "javax.jms;Queue;true;toString;();;Argument[-1];ReturnValue;taint" ,
88- "javax.jms;Topic;true;getTopicName;();;Argument[-1];ReturnValue;taint" ,
89- "javax.jms;Topic;true;toString;();;Argument[-1];ReturnValue;taint" ,
86+ "javax.jms;Queue;true;getQueueName;();;Argument[-1];ReturnValue;taint;manual " ,
87+ "javax.jms;Queue;true;toString;();;Argument[-1];ReturnValue;taint;manual " ,
88+ "javax.jms;Topic;true;getTopicName;();;Argument[-1];ReturnValue;taint;manual " ,
89+ "javax.jms;Topic;true;toString;();;Argument[-1];ReturnValue;taint;manual " ,
9090 ]
9191 }
9292}
@@ -96,17 +96,17 @@ private class Jms2Source extends SourceModelCsv {
9696 override predicate row ( string row ) {
9797 row =
9898 [
99- "javax.jms;JMSConsumer;true;receive;;;ReturnValue;remote" ,
100- "javax.jms;JMSConsumer;true;receiveBody;;;ReturnValue;remote" ,
101- "javax.jms;JMSConsumer;true;receiveNoWait;();;ReturnValue;remote" ,
102- "javax.jms;JMSConsumer;true;receiveBodyNoWait;();;ReturnValue;remote" ,
99+ "javax.jms;JMSConsumer;true;receive;;;ReturnValue;remote;manual " ,
100+ "javax.jms;JMSConsumer;true;receiveBody;;;ReturnValue;remote;manual " ,
101+ "javax.jms;JMSConsumer;true;receiveNoWait;();;ReturnValue;remote;manual " ,
102+ "javax.jms;JMSConsumer;true;receiveBodyNoWait;();;ReturnValue;remote;manual " ,
103103 ]
104104 }
105105}
106106
107107/** Defines additional taint propagation steps in JMS 2. */
108108private class Jms2FlowStep extends SummaryModelCsv {
109109 override predicate row ( string row ) {
110- row = "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint"
110+ row = "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint;manual "
111111 }
112112}
0 commit comments