Activity log for bug #1379826
Date | Who | What changed | Old value | New value | Message |
---|---|---|---|---|---|
2014-10-10 15:24:43 | Gavin Panella | bug | added bug | ||
2014-10-10 15:26:12 | Gavin Panella | summary | uuid.uuid1() is not suitable as a "private" identifier/token | uuid.uuid1() is not suitable as an unguessable identifier/token | |
2014-10-10 15:27:33 | Gavin Panella | description | uuid.uuid1() has been used for the FileStorage.key field. This field is used to create unguessable URLs that we can hand out from MAAS to refer back to that file. However, uuid1() is not random enough: def uuid1(node=None, clock_seq=None): """Generate a UUID from a host ID, sequence number, and the current time. If 'node' is not given, getnode() is used to obtain the hardware address. If 'clock_seq' is given, it is used as the sequence number; otherwise a random 14-bit sequence number is chosen.""" The host ID is, afaik, based on the machine's MAC address, so this is easily discoverable. The current time is assumed to be nanoseconds, but in practice appears to be microseconds; check time.time() output. An attacker, with the knowledge of the machine's MAC address, would need to search 58982400000000 UUIDs to discover every file created during a 1 hour timespan (3600e6 microseconds * 2^14). That's a lot of UUIDs, but I doubt it's even close to "secure". I think uuid.uuid4() would be a better choice here, as it is entirely made from random data. Or we could go direct and encode (e.g. base 16/32/64) 16 bytes straight from /dev/urandom. | uuid.uuid1() has been used for the FileStorage.key field. This field is used to create unguessable URLs that we can hand out from MAAS to refer back to that file. However, uuid1() is not random enough: def uuid1(node=None, clock_seq=None): """Generate a UUID from a host ID, sequence number, and the current time. If 'node' is not given, getnode() is used to obtain the hardware address. If 'clock_seq' is given, it is used as the sequence number; otherwise a random 14-bit sequence number is chosen.""" The host ID is, afaik, based on the machine's MAC address, so this is easily discoverable. The current time is assumed to be nanoseconds, but in practice appears to be microseconds; check time.time() output. An attacker, with the knowledge of the machine's MAC address, would need to search 58982400000000 UUIDs to discover every file created during a 1 hour timespan (3600e6 microseconds * 2^14). That's a lot of UUIDs, but I doubt it's even close to "secure". I think uuid.uuid4() would be a better choice here, as it is entirely made from random data. Or we could go direct and encode (e.g. base 16/32/64) 16 bytes straight from /dev/urandom. This follows on from discussion in bug 1212205. | |
2014-10-12 23:26:16 | Julian Edwards | maas: status | New | Triaged | |
2014-10-12 23:26:18 | Julian Edwards | maas: importance | Undecided | Critical | |
2014-10-12 23:27:06 | Julian Edwards | maas: milestone | next | ||
2014-10-12 23:28:25 | Julian Edwards | nominated for series | maas/1.5 | ||
2014-10-12 23:28:25 | Julian Edwards | bug task added | maas/1.5 | ||
2014-10-12 23:28:25 | Julian Edwards | nominated for series | maas/1.2 | ||
2014-10-12 23:28:25 | Julian Edwards | bug task added | maas/1.2 | ||
2014-10-12 23:28:25 | Julian Edwards | nominated for series | maas/1.6 | ||
2014-10-12 23:28:25 | Julian Edwards | bug task added | maas/1.6 | ||
2014-10-12 23:28:35 | Julian Edwards | maas/1.2: status | New | Triaged | |
2014-10-12 23:28:38 | Julian Edwards | maas/1.5: status | New | Triaged | |
2014-10-12 23:28:41 | Julian Edwards | maas/1.6: status | New | Triaged | |
2014-10-12 23:28:43 | Julian Edwards | maas/1.2: importance | Undecided | Critical | |
2014-10-12 23:28:44 | Julian Edwards | maas/1.5: importance | Undecided | Critical | |
2014-10-12 23:28:46 | Julian Edwards | maas/1.6: importance | Undecided | Critical | |
2014-10-30 20:26:31 | Christian Reis | maas: milestone | next | 1.7.2 | |
2015-01-28 18:11:12 | Christian Reis | maas: status | Triaged | In Progress | |
2015-01-28 18:11:17 | Christian Reis | maas/1.6: status | Triaged | Won't Fix | |
2015-01-30 15:34:51 | Christian Reis | bug | added subscriber Ubuntu Security Team | ||
2015-01-30 15:53:55 | Marc Deslauriers | cve linked | 2014-1428 | ||
2015-02-27 13:00:23 | Raphaël Badin | nominated for series | maas/1.7 | ||
2015-02-27 13:00:23 | Raphaël Badin | bug task added | maas/1.7 | ||
2015-02-27 13:00:23 | Raphaël Badin | nominated for series | maas/trunk | ||
2015-02-27 13:00:23 | Raphaël Badin | bug task added | maas/trunk | ||
2015-02-27 13:00:31 | Raphaël Badin | maas/1.7: milestone | 1.7.2 | ||
2015-02-27 13:00:39 | Raphaël Badin | maas/trunk: milestone | 1.7.2 | ||
2015-03-03 16:27:34 | Andres Rodriguez | maas/1.7: milestone | 1.7.2 | 1.7.3 | |
2015-10-21 04:10:52 | Tyler Hicks | bug | added subscriber Adam Conrad | ||
2016-04-13 15:46:00 | Blake Rouse | maas/1.7: status | New | Won't Fix | |
2016-04-13 15:46:03 | Blake Rouse | maas/1.5: status | Triaged | Won't Fix | |
2016-04-13 15:46:05 | Blake Rouse | maas/1.2: status | Triaged | Won't Fix | |
2016-04-13 15:46:09 | Blake Rouse | nominated for series | maas/1.9 | ||
2016-04-13 15:46:09 | Blake Rouse | bug task added | maas/1.9 | ||
2016-04-13 15:46:15 | Blake Rouse | maas/1.9: status | New | In Progress | |
2016-04-13 15:46:17 | Blake Rouse | maas/1.9: importance | Undecided | Critical | |
2016-04-13 15:46:19 | Blake Rouse | maas/1.9: assignee | Blake Rouse (blake-rouse) | ||
2016-04-13 15:46:20 | Blake Rouse | maas/trunk: assignee | Blake Rouse (blake-rouse) | ||
2016-04-13 15:46:21 | Blake Rouse | maas/1.9: milestone | 1.9.2 | ||
2016-04-13 15:46:23 | Blake Rouse | maas/trunk: milestone | 2.0.0 | ||
2016-04-13 15:46:24 | Blake Rouse | maas/1.7: milestone | 1.7.3 | ||
2016-04-13 16:58:23 | Blake Rouse | maas/trunk: status | In Progress | Fix Committed | |
2016-04-13 19:41:06 | Launchpad Janitor | branch linked | lp:~maas-maintainers/maas/rand-uuid-bug-1379826-1.9 | ||
2016-04-13 20:54:17 | MAAS Lander | maas/1.9: status | In Progress | Fix Committed | |
2016-04-28 18:46:20 | Andres Rodriguez | maas/1.9: status | Fix Committed | Fix Released | |
2016-08-18 11:19:20 | Andres Rodriguez | maas: status | Fix Committed | Fix Released | |
2017-04-11 20:17:31 | Jamon Camisso | removed subscriber Gavin Panella | |||
2019-03-21 03:17:24 | Seth Arnold | information type | Private Security | Public Security | |
2019-03-21 03:17:26 | Seth Arnold | bug | added subscriber Ubuntu Bugs |