Non-privileged user can query constant value (NO any of field(s)) from table
for which he has no rights. This mean that he can know number of records in
that table.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: CORE-4985
URL: http://tracker.firebirdsql.org/browse/CORE-4985
Project: Firebird Core
Issue Type: Bug
Reporter: Pavel Zotov
SQL> create or alter user john password '123';
SQL> create table test(id int);
SQL> set count on;
SQL> insert into test select row_number()over() from rdb$types rows 7;
Records affected: 7
SQL> commit;
SQL> revoke all on all from john;
Warning: ALL on ALL is not granted to JOHN.
SQL> commit;
SQL> connect '/3333:e30' user john password '123';
Database: '/3333:e30', User: JOHN
SQL> select count(*) from test;
Statement failed, SQLSTATE = 28000
no permission for SELECT access to TABLE TEST ----- OK, expected
SQL> set count on;
SQL> select 1 from test;
CONSTANT
============
1
1
1
1
1
1
1
Records affected: 7 -------------- ?? Why he can know result of COUNT(*) using
this way ?
WI-V3.0.0.32136
PS. May be this is not a bug, but IMO user shoudl not have *any* knowledge
about such table, even about number of rows in it.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel