Resumen

  • RFC 3045 definió los atributos opcionales vendorName y vendorVersion en el root DSE de un servidor LDAP para mostrar quién lo implementó o reconocer una posible anomalía del software.
  • El estándar prohibió emplear esos textos para descubrir funciones compatibles. El fabricante y la versión declarados no autenticaban el origen del software ni demostraban que una capacidad funcionara en ese servidor o sesión.

Un cliente LDAP ya consultaba el root DSA-specific Entry, o root DSE, para conocer datos propios del servidor con el que acababa de conectarse. RFC 3045 añadió dos indicios posibles a esa respuesta: vendorName y vendorVersion. Publicado en enero de 2001 como RFC Informational, el documento permitía que el servidor comunicara quién había implementado su código y qué versión decía tener. Eran atributos operativos de valor único, no campos ordinarios editables por un usuario del directorio.

La propuesta era deliberadamente limitada. El cliente podía mostrar fabricante y versión al operador o reconocer una versión asociada a una anomalía conocida y considerar una solución provisional. Pero RFC 3045 prohibió utilizar esos datos para deducir las funciones compatibles. El nombre del fabricante no indica qué controles, extensiones o mecanismos acepta una instancia concreta. La versión no dice si una función está habilitada en esa configuración, disponible para esa sesión autenticada o funcionando correctamente. Las capacidades debían anunciarse mediante mecanismos diseñados para cada función.

Ese límite evitaba un atajo atractivo pero débil. Si un cliente trataba «fabricante X, versión Y» como negociación de capacidades, podía saltarse la evidencia protocolaria prevista para la función. Podría activar una operación que el servidor no admite o descartar una que sí admite. RFC 3045 dejaba que la identidad del producto contextualizara lo observado, no que reemplazara la observación.

Hasta el texto de la versión estaba diseñado para evitar una falsa precisión. RFC 3045 exigía que vendorVersion fuera único entre versiones, pero no imponía sintaxis ni orden. La comparación era por igualdad, no por «menor que» o «mayor que». Para aplicar una solución a una anomalía, el cliente debía hacer coincidir exactamente la cadena asociada a ella en vez de suponer que 8.01 era anterior o posterior a 8.5. La etiqueta de versión es un nombre, no necesariamente una cifra comparable.

Y ni siquiera una coincidencia exacta describía toda la implementación. RFC 3045 advertía que la anomalía podía afectar solo a una parte de los servidores que comunicaban la misma versión: cambian las plataformas, las opciones de configuración y los complementos. También señalaba que el nombre o la versión devueltos no garantizaban que el servidor hubiera sido creado por ese fabricante ni que ejecutara realmente esa versión. La etiqueta informa de lo que el servidor dijo; no certifica su binario ni explica todo su comportamiento.

Los atributos eran opcionales. El servidor podía restringir su acceso y los clientes no debían esperar encontrarlos. Su ausencia no significaba que el servidor estuviera roto ni que el cliente pudiera dejar de interoperar con él. El matiz importa porque la información útil para diagnosticar también expone detalles del software a un posible atacante. RFC 3045 reconoció expresamente que fabricante y versión podían ayudar a localizar una debilidad.

La arquitectura posterior de LDAP mantuvo visible la diferencia entre identidad y capacidad. RFC 4512 describe el root DSE como una entrada operativa propia de cada servidor y enumera atributos distintos, como supportedControl, supportedExtension y supportedFeatures; sus valores pueden depender de la sesión. El registro IANA de parámetros LDAP sigue asignando los OID de vendorName y vendorVersion, pero eso confirma los identificadores, no las declaraciones de un servidor ni sus capacidades. La lección de RFC 3045 es una división del trabajo: las etiquetas ayudan a reconocer el contexto; la evidencia específica de cada función determina qué puede usar realmente una conexión.

Fuentes