Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUE
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 79/100
Direzione di ricerca
Individua ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean e verifica come legge i valori delle proprietà. Controlla i test esistenti per le proprietà di connessione JDBC, quindi aggiungi test per true, TRUE, True e 1. Il lavoro è completo quando tutti questi valori abilitano la crittografia e i test pertinenti passano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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).
- Lingua principale
- Java
- Stelle
- 98
- Fork
- 160
- Merge medio
- 5g 9h
- PR unite (30g)
- 26
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/arrow-java
-
ArrowBuf.setBytes(long, ByteBuffer, int, int) does not bounds-check the source bufferForse già presa @aryan9948 l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/arrow-java#1336 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ArrowFlightJdbcArray.getArray(index, count) can read past the end of the array sliceForse già presa @Arawoof06 l’ha presa 85 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/arrow-java#1236 ·
I maintainer di solito rispondono entro 1 giorno
-
[Java][JDBC] ClobConsumer writes past VarCharVector data buffer for large CLOBsForse già presa @Arawoof06 l’ha presa 90 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/arrow-java#1230 ·
I maintainer di solito rispondono entro 1 giorno
-
[Java] DictionaryEncoder doesn't crash when decoding index outside of DictionaryForse già presa @jakobhok-neo4j l’ha presa 147 giorni fa. ApertaType: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/arrow-java#1158 ·
I maintainer di solito rispondono entro 1 giorno
-
Type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/arrow-java#1100 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/arrow-java
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
apache/rocketmq-dashboard#6610 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
MetricsHub/metricshub-community#1396 ·
I maintainer di solito rispondono entro 1 giorno
-
L: java:gradle L: java:maven L: ruby:bundler T: bug 🐞
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
dependabot/dependabot-core#16547 ·
I maintainer di solito rispondono entro 1 giorno
-
Citationcount column sorts alphabetically instead of numericallyForse già presa @kpunia306 l’ha presa oggi. Apertastatus: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
JabRef/jabref#17459 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
`RedisList.reversed()` view returns an empty `range` and `trim` removes all elementsForse già presa @CCCLL l’ha presa oggi. Apertastatus: waiting-for-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
spring-projects/spring-data-redis#3461 ·
I maintainer di solito rispondono entro 2 giorni