question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

security issue in binary protocol

See original GitHub issue

Hi, I am having quite a security issue in the binary protocol in REQUEST_DB_OPEN. By setting user-name to “root” and user-password to 4 bytes xFF the db is opened regardless what the real root passwort is.

This can be reproduced by using the PhpOrient driver and the following code:

require 'PhpOrient/vendor/autoload.php';
use PhpOrient\PhpOrient;
$client = new PhpOrient( 'localhost', 2424 );
$client->dbOpen('GratefulDeadConcerts', 'root', null);
print_r($client->query( 'select from V' ));

I can use both null or an empty string "" as password here without knowing the real root password. PhpOrient transfers an empty password as pack('N', -1) which results in 4 Bytes xFF. This only works with “root”, any other user (e.g. “admin”) requires the proper password.

I posted this here since I think this is an issue in the binary protocol and not in PhpOrient. Is my configuration somehow wrong or can anybody confirm this behaviour? I tried this both with OrientDB 2.0.8 and 2.1-rc2.

Issue Analytics

  • State:closed
  • Created 8 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

4reactions
micha-nerdlichtercommented, May 22, 2015

Thank you for the confirmation. @lvca So this is pretty serious, right? I narrowed the problem down to Line 464 in OServer.java:

if (user != null && (iPassword == null || user.password.equals(iPassword))) {

iPassword == null I can’t believe this! What kind of backdoor is that? I hope this is by design and the null password should be prevented on a higher level in the binary protocol.

0reactions
lvcacommented, May 22, 2015

Thanks @micha-nerdlichter for the report. We’ll release 2.0.10 and 2.1-rc3 asap.

Read more comments on GitHub >

github_iconTop Results From Across the Web

What is Binary Security - CTF 101
Binary Security is using tools and methods in order to secure programs from being manipulated and exploited. This tools are not infallible, but...
Read more >
binary-protocol - npm Package Health Analysis - Snyk
The npm package binary-protocol was scanned for known vulnerabilities and missing license, and no issues were found. Thus the package was deemed as...
Read more >
Information Theory and the Security of Binary Data Perturbation
The general problem solved by random data perturbation (RDP) is that of pro- ... The channel capacity of the binary symmetric protocol with...
Read more >
Interpretation of Binary Strings as Security Protocols for their ...
We discuss how security protocols can be represented as binary strings. Arbitrary criteria can lead to improper strings for our GA tools. We...
Read more >
Information Security Protocol Based System Identification with ...
This paper focuses on the security problem of input information in a class of system identification problems with noise and binary-valued ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found