Skip to content

sleep injection fails on NOT EXISTS queries #17

Description

@valhallasw

Example: https://quarry.wmflabs.org/query/52344

SELECT page_namespace, page_title, il_to
	FROM imagelinks
	JOIN page on page_id = il_from
	WHERE
		NOT EXISTS (SELECT * FROM image WHERE img_name = il_to)
   	AND NOT EXISTS (SELECT * FROM commonswiki_p.image WHERE img_name = il_to)
		AND NOT EXISTS (SELECT * FROM page WHERE page_namespace = 6
					AND page_title = il_to)
		AND NOT EXISTS (SELECT * FROM commonswiki_p.page WHERE page_namespace = 6
					AND page_title = il_to)
	ORDER BY page_namespace ASC LIMIT 1000

or, a more minimal example,

SELECT page_namespace, page_title, il_to
	FROM imagelinks
	JOIN page on page_id = il_from
	WHERE
		NOT EXISTS (SELECT * FROM image WHERE img_name = il_to)
	ORDER BY page_namespace ASC LIMIT 1000

The sleep seems to be injected into the subquery rather than the main query, and this seems to break the syntax.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions