Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUE
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 79/100
Piste de recherche
Repérez ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean et examinez comment cette méthode lit les valeurs des propriétés. Vérifiez les tests existants pour les propriétés de connexion JDBC, puis ajoutez des tests pour true, TRUE, True et 1. Le travail est terminé lorsque toutes ces valeurs activent le chiffrement et que les tests concernés réussissent.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
In the Flight SQL JDBC driver, ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean compares the property value with:
return valueFromProperties.equals("1") || valueFromProperties.equals("true");
Only the exact lowercase true (or 1) is treated as true. Values coming from the JDBC URL or Properties are not normalized, so a perfectly reasonable value such as useEncryption=TRUE or useEncryption=True is parsed as false.
useEncryption defaults to true and feeds ArrowFlightSqlClientHandler.Builder.withEncryption(...). When it is parsed as false, the driver connects to the server over plaintext gRPC and performs the authentication handshake (username/password, bearer token, or OAuth credentials) over the unencrypted channel. A user who believes they enabled TLS gets a cleartext connection and credential exposure instead.
Most JDBC drivers parse boolean options case-insensitively, so this is surprising and security-relevant. getBoolean should accept true case-insensitively (still honoring 1).
- Langage dominant
- Java
- Étoiles
- 98
- Forks
- 160
- Merge moyen
- 5 j 6 h
- PR mergées (30 j)
- 27
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/arrow-java
-
ArrowBuf.setBytes(long, ByteBuffer, int, int) does not bounds-check the source bufferPeut-être à nouveau libre @aryan9948 l’a pris il y a 7 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
apache/arrow-java#1336 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
ArrowFlightJdbcArray.getArray(index, count) can read past the end of the array slicePeut-être pris @Arawoof06 l’a pris il y a 87 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
apache/arrow-java#1236 ·
Les mainteneurs répondent en général sous 1 jour
-
[Java][JDBC] ClobConsumer writes past VarCharVector data buffer for large CLOBsPeut-être pris @Arawoof06 l’a pris il y a 92 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
apache/arrow-java#1230 ·
Les mainteneurs répondent en général sous 1 jour
-
[Java] DictionaryEncoder doesn't crash when decoding index outside of DictionaryPeut-être pris @jakobhok-neo4j l’a pris il y a 149 jours. OuverteType: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
apache/arrow-java#1158 ·
Les mainteneurs répondent en général sous 1 jour
-
Type: enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
apache/arrow-java#1100 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de apache/arrow-java
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
MCModderAnchor/TACZ#758 ·
-
agent-java community triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
elastic/apm-agent-java#4594 ·
Les mainteneurs répondent en général sous 1 jour
-
area/plugin good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
kestra-io/plugin-soda#137 ·
-
area/plugin good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
kestra-io/plugin-aws#816 ·
Les mainteneurs répondent en général sous 2 jours
-
area/plugin good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
kestra-io/plugin-kestra#200 ·
Les mainteneurs répondent en général sous 1 jour