mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 00:12:19 +01:00 
			
		
		
		
	tests: Add a test for signal filtering by well-known name
The vulnerability reported as GNOME/glib#3268 can be characterized as: these signals from an attacker should not be delivered to either the GDBusConnection or the GDBusProxy, but in fact they are (in at least some scenarios). Reproduces: https://gitlab.gnome.org/GNOME/glib/-/issues/3268 Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
		| @@ -440,6 +440,33 @@ static const TestPlan plan_limit_by_well_known_name = | ||||
|         .iface = EXAMPLE_INTERFACE, | ||||
|       }, | ||||
|     }, | ||||
|     { | ||||
|       /* Attacker wants to trick subscriber into thinking that service | ||||
|        * sent a signal */ | ||||
|       .action = TEST_ACTION_EMIT_SIGNAL, | ||||
|       .u.signal = { | ||||
|         .sender = TEST_CONN_ATTACKER, | ||||
|         .path = EXAMPLE_PATH, | ||||
|         .iface = EXAMPLE_INTERFACE, | ||||
|         .member = FOO_SIGNAL, | ||||
|         .received_by_conn = 0, | ||||
|         .received_by_proxy = 0 | ||||
|       }, | ||||
|     }, | ||||
|     { | ||||
|       /* Attacker tries harder, by sending a signal unicast directly to | ||||
|        * the subscriber */ | ||||
|       .action = TEST_ACTION_EMIT_SIGNAL, | ||||
|       .u.signal = { | ||||
|         .sender = TEST_CONN_ATTACKER, | ||||
|         .unicast_to = TEST_CONN_SUBSCRIBER, | ||||
|         .path = EXAMPLE_PATH, | ||||
|         .iface = EXAMPLE_INTERFACE, | ||||
|         .member = FOO_SIGNAL, | ||||
|         .received_by_conn = 0, | ||||
|         .received_by_proxy = 0 | ||||
|       }, | ||||
|     }, | ||||
|     { | ||||
|       /* When the service sends a signal with the name it already owns, | ||||
|        * it should get through */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user